В настоящее время я работаю над небольшим фрагментом кода, который должен зашифровать байт [], прежде чем он будет сохранен в файле. В следующем фрагменте я пытаюсь сгенерировать SecretKey из пароля с использованием PBKDF2.
public SecretKey deriveKey(String password)
throws NoSuchAlgorithmException, InvalidKeySpecException {
SecretKeyFactory kf = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
KeySpec specs = new PBEKeySpec(password.toCharArray());
SecretKey key = kf.generateSecret(specs);
return key;
}
Это исключение
java.security.spec.InvalidKeySpecException: соль не найдена
в последней строке перед оператором возврата. Это кажется мне довольно запутанным, поскольку PBEKeySpec явно не требует больше параметров, как видно здесь .
Это не трагедия, я все равно должен был добавить соль позже, и это уже было определено выше, но мне было любопытно, знает ли кто-нибудь, почему это происходит. Я мог делать что-то ужасно неправильно и просто не замечал.