Как мне сравнить соль с сгенерированным паролем?
Что мне нужно сделать, чтобы сравнить исходный пароль с этим?
Ответ заключается в том, что вы не делайте также, если эти вещи.
Чтобы зарегистрировать оригинальный пароль, вы делаете следующее:
- Получите соль 1
- Объедините оригинальный пароль с солью
- Ха sh, что.
- Сохраните соль и га sh.
Затем вы сбрасываете оригинальный пароль ,
Чтобы проверить, что предоставленный пароль, вы делаете следующее:
- Поиск сохраненного ха sh и соответствующей соли, которые были созданы при регистрации; см. выше.
- Объедините прилагаемый пароль и соль так же, как указано выше.
- Ха sh это как указано выше.
- Сравните полученный ха sh с сохраненным ха sh. Если они совпадают, то предоставленный пароль является правильным паролем.
Как видите, вы не сравниваете ни соль, ни исходный пароль ни с чем.
Но также важно, чтобы вы использовали ту же соль при создании хэшей для оригинального пароля и пароля, который вы проверяете. Если вы этого не сделаете, проверка пароля не работает.
1 - соль - это просто число или строка. В идеале значения соли должны быть разными. Соль заключается в том, чтобы избежать так называемой атаки «радужной таблицы» для восстановления исходного пароля из украденного (несоленного) пароля ha sh. Если существует, скажем, миллион возможных значений соли, то злодеи должны создать миллион различных радужных таблиц. Создание и хранение многих радужных таблиц становится непрактичным.