已解决
密码学Python
Java SecretKeyFactory生成的密钥与输入密码相同10
我正在尝试使用PBE生成密钥,但SecretKeyFactory生成的密钥与输入密码完全相同。 我尝试了不同的算法,迭代计数等等,它仍然是相同的,所以我觉得我在这里错过了一步。public SecretKey generateKey(String password, String salt) {
char[] passChars = password.toCharArray();
byte[] saltBytes = salt.getBytes();
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("PBEWithHmacSHA256AndAES_128");
PBEKeySpec keySpec = new PBEKeySpec(passChars, saltBytes, 2048, 128);
SecretKey secretKey = keyFactory.generateSecret(keySpec);
byte[] encodedKey = secretKey.getEncoded();
System.out.println("key: " + new String(encodedKey));
return new SecretKeySpec(encodedKey, "AES");
}
编辑:如果我使用算法“PBKDF2WithHmacSHA1”,那么生成的密钥与密码不同,但为什么我使用的算法生成的密钥与输入密码完全相同?
华中路
2019.06.05
4427
收藏