Я создаю простое веб-приложение и хочу сохранить хешированные пароли в базе данных. Мне также нужна хеш-функция для токена аутентификации (объединение имени пользователя и даты и отправка их с хешем клиенту в качестве токена).
Я обнаружил, что Java-класс MessageDigest может помочь мне в этом. Вот одна ссылка .
Основная идея выглядит так:
public String digestString (String stringToHash) throws NoSuchAlgorithmException {
MessageDigest sha256 = MessageDigest.getInstance("SHA-256");
byte[] stringBytes = stringToHash.getBytes();
byte[] stringDigest = sha256.digest(stringBytes);
return new String(stringDigest);
}
Чего я не понимаю:
В этом коде, как я могу установить ключ хеша? Я должен быть уверен, что этот же ключ будет использоваться в процессе проверки. Как я могу это сделать, если я не установил ключ?
Кстати: я знаю, что должен добавить соль (в данном случае 256 байт) к хешированному тексту перед хэшированием.