2013-08-16 10 views
29

少なくとも32バイト長のStringとしてJavaでSALT値を生成する最適な方法は何ですか?JavaでSALT値を生成する方法は?

+1

使用することができます。あなたはどんなキャラクターの範囲を望んでいますか?注:文字は2バイトを使用します。 'byte [32]'を塩として欲しいということですか? –

+2

Shamimが示唆するように32個のランダムなバイトをStringとしてエンコードしたかったのです。 –

答えて

42
final Random r = new SecureRandom(); 
byte[] salt = new byte[32]; 
r.nextBytes(salt); 
/** String encodedSalt = Base64.encodeBase64String(salt); */ 
+5

+1だがおそらくそれは 'byte [] 'のままにしておくだけです – Qwerky

2
+0

最後のリンクが壊れています – Artem

+0

これまでに修正されました。 –

関連する問題