Javaで16文字の一意のキーを生成するための最良の方法は何ですか? そのような機能を既に提供しているオープン ソース ライブラリはありますか。また、サーバーの再起動後も一意性を維持する必要があります。
上記の要件に最適なアプローチを提案していただけますか。
また、ハッシュコードが多くの英数字フィールドから生成される堅牢なハッシュコードメソッドを作成するための参照をどこで入手できますか?
JRE でUUIDクラスを使用できます。128 ビットのキーを生成します。
ハッシュコードに関しては、これも JRE で利用できます。
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] hashCode = md.digest(...);
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);
優れた堅牢な方法