Мисля, че питате как работи?? Отговорът е доста прост. StandardPasswordEncoder.matches()
е методът, който искате да използвате. Зад кулисите, StandardPasswordEncoder
ще декодира хешираната парола и ще извлече солта от получения масив от байтове. След това ще използва тази сол, за да хешира паролата в обикновен текст, която сте подали. Ако полученият хеш съвпада с оригиналния хеш, вашите пароли съвпадат! Обърнете се към източника за подробности зад StandardPasswordEncoder.matches()
:
public boolean matches(CharSequence rawPassword, String encodedPassword) {
byte[] digested = decode(encodedPassword);
byte[] salt = subArray(digested, 0, saltGenerator.getKeyLength());
return matches(digested, digest(rawPassword, salt));
}