4

Javaで16文字の一意のキーを生成するための最良の方法は何ですか? そのような機能を既に提供しているオープン ソース ライブラリはありますか。また、サーバーの再起動後も一意性を維持する必要があります。

上記の要件に最適なアプローチを提案していただけますか。

また、ハッシュコードが多くの英数字フィールドから生成される堅牢なハッシュコードメソッドを作成するための参照をどこで入手できますか?

4

2 に答える 2

7

JRE でUUIDクラスを使用できます。128 ビットのキーを生成します。

ハッシュコードに関しては、これも JRE で利用できます。

MessageDigest md = MessageDigest.getInstance("MD5");
byte[] hashCode = md.digest(...);
于 2012-10-08T13:05:28.227 に答える
1
Random r = new SecureRandom();
byte[] b = new byte[16];
r.nextBytes(b);
String s = org.apache.commons.codec.binary.Base64.encodeBase64String(b);
return s.substring(0, 16); 

優れた堅牢な方法

于 2012-10-08T13:07:24.277 に答える