我想使用 PBKDF2 和 SHA256 生成密码的派生散列。使用此 SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1")
这项工作但它使用 SHA1。
使用 SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256")
(或使用 spongycaSTLe 时使用 SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256","SC")
)我遇到错误。
如何使用 PBKDF2WithHmacSHA256 成功生成哈希?
最佳答案
如果您使用 1.47 或更高版本的 SpongyCaSTLe,您可以直接调用 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。
关于android - PBKDF2 与 Android 上的 SHA256,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11628256/