우리는 SecretKeyFactory.generateSecret
기능을 사용하여 PBKDF2 알고리즘을 사용하여 암호를 해싱하는에 않고 InvalidKeySpecException로 사망 : 프로덕션 서버에, 그러나,SecretKeyFactory.generateSecret이 같은 IBM 자바
final SecretKeyFactory secretKeyFactory = SecretKeyFactory.getInstance(algorithm);
final PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray(), salt, iterations, hashLength);
final SecretKey secretKey = secretKeyFactory.generateSecret(keySpec);
return secretKey.getEncoded();
모든 것이 잘 작동하는 것 같다, 이 IBM 자바에서 실행 중일 때, 그것은 java.security.spec.InvalidKeySpecException
로 사망 : 는 비밀 키 생성 할 수 없습니다 :
Caused by: java.security.spec.InvalidKeySpecException: Could not generate secret key
at javax.crypto.SecretKeyFactory.generateSecret(Unknown Source)
at our.Implementation.doHash(Hasher.java:71)
... 48 more
Caused by: java.lang.RuntimeException: Error deriving PBKDF2 keys
at com.ibm.crypto.provider.PBKDF2KeyImpl.a(Unknown Source)
at com.ibm.crypto.provider.PBKDF2KeyImpl.<init>(Unknown Source)
at com.ibm.crypto.provider.PBKDF2HmacSHA1Factory.engineGenerateSecret(Unknown Source)
... 50 more
우리는 반복 횟수를 변경하려고 해시 크기를 생성하고, t 그는 소금 크기,하지만 아무것도 도움이되었습니다. 내가 도대체 뭘 잘못하고있는 겁니까?