7

SHA256でPBKDF2を使用してパスワードの派生ハッシュを生成したいと思います。このSecretKeyFactory.getInstance("PBKDF2WithHmacSHA1")作品では、SHA1を使用しています。でSecretKeyFactory.getInstance("PBKDF2WithHmacSHA256")(またはSecretKeyFactory.getInstance("PBKDF2WithHmacSHA256","SC")スポンジキャッスルで)エラーが発生します。

PBKDF2WithHmacSHA256を使用してハッシュを生成するにはどうすればよいですか?

4

2 に答える 2

20

SpongyCastleのバージョン1.47以降を使用している場合は、PBKDF2WithHmacSHA256を直接呼び出すことができます。

PKCS5S2ParametersGenerator generator = new PKCS5S2ParametersGenerator(new SHA256Digest());
generator.init(PBEParametersGenerator.PKCS5PasswordToUTF8Bytes(password), salt, iterations);
KeyParameter key = (KeyParameter)generator.generateDerivedMacParameters(keySizeInBits);

BC <1.47のバージョンでは、SHA256ダイジェストを指定できず、デフォルトでSHA1に設定されていました。

于 2013-03-08T21:06:21.643 に答える
2

バウンシーキャッスルはサポートしていないためPBKDF2WithHmacSHA256、これは機能しません。自分で実装してみることができます。のソースを見て、にPKCS5S2ParametersGenerator.java置き換えSHA1DigestますSHA256Digest

于 2012-07-25T03:05:49.380 に答える