他のライブラリを持たないJava 8のみを使用すると、5分で期限切れとなる固有のトークンを生成する必要がありますが、作成時間をDBに保存するのではなく、それが使用されたときにそれを後でデコードするためにトークンの中の時間。作成時間内に固有のトークンを生成する
どうすればいいですか?
他のライブラリを持たないJava 8のみを使用すると、5分で期限切れとなる固有のトークンを生成する必要がありますが、作成時間をDBに保存するのではなく、それが使用されたときにそれを後でデコードするためにトークンの中の時間。作成時間内に固有のトークンを生成する
どうすればいいですか?
これは、あなたが次にあなたはそれが役に立てば幸いあなたはtoken_time
変数 でほしいと思う何ができる
String token = UUID.randomUUID().toString() + ":" + System.currentTimeMillis();
String[] t = token.split(":");
String token_time = t[1];
を質問の答えです
あなたは、単に連結されている2つの部分から構成トークンを生成することができます
作成時間を取って、簡単に変更できないようにMACを追加します。ただし、1ミリ秒に1つ以上のトークンを発行すると、これは一意ではありません。必要な場合は、カウンター値を追加することができます。 – Henry
これはプログラミングの問題ではなく概念的な問題のようです。 'System.currentTimeMillis()'を使って作成時刻を取得することができます。その「長い」は、トークンの性質と必要なセキュリティの種類によって異なります。トークンの正当性を検証する方法。私は、まだデータベースストレージになる*があると思いますか? – Holger