Я использую Spring Security 3.1.1.RELEASE. Я использую функцию StandardPasswordEncoder.encode(password) для шифрования моих пользовательских паролей, которая основана на генерации случайной соли. Из источника безопасности Spring в конечном итоге этот метод вызывается из «org.springframework.security.crypto.keygen.SecureRandomBytesKeyGenerator» для генерации соли…
public byte[] generateKey() {
byte[] bytes = new byte[keyLength];
random.nextBytes(bytes);
return bytes;
}
Мой вопрос: когда пароль вводится со страницы входа, как генерируется та же соль, которая используется для сравнения закодированного пароля? Похоже, что приведенное выше является случайным, поэтому я бы предположил, что при выполнении сравнения создается новая случайная соль.