我正在开发 Java 应用程序,我被要求使用以下信息生成安全代码。
Value to be encrypted ="test1234";
passPhrase = "testValue"
saltValue = "testValue"
hashAlgorithm = "SHA1"
passwordIterations = 2
initVector = "testValue"
keySize = 256
请问有人可以告诉我根据上述值使用 SHA1 算法生成哈希值的方法是什么吗?
最佳答案
这个问题有点模糊,但我想你可能想使用 PBKDF2 来生成哈希。幸运的是,在 Java SE 6+ 中这非常简单
KeySpec spec = new PBEKeySpec(passsword.toCharArray(), salt,
iterations, derivedKeyLength);
SecretKeyFactory f = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
return f.generateSecret(spec).getEncoded();
http://jerryorr.blogspot.com/2012/05/secure-password-storage-lots-of-donts.html 有更深入的解释
关于java - 使用 passPhrase 、saltValue、passwordIterations、initVector、keySize 进行 sha1 加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12577737/