Как получить хэш пароля в бд такого рода? Приветствую.
Нужно сохранить пароль в (mysql) таком виде:sha1:1000:oNsMooGkvbmtYx7g118FdIRyuMElA4vL:1izkAXExj6he6ARrH3K+srXxemvL15/0
Искал в гугле, ничего не нашел.
Если не сложно, прямо носом тычьте.

21 Авг 2019 в 07:11
221 +1
0
Ответы
1

Для хеширования пароля в формате, который вы указали (sha1:1000:hash:salt:stretch), вы можете использовать следующий код на PHP:

$password = 'ваш_пароль';
$salt = random_bytes(16); // генерируем случайную соль
$hash = hash_pbkdf2('sha1', $password, $salt, 1000, 64); // хешируем пароль с помощью pbkdf2
$fullHash = 'sha1:1000:' . $hash . ':' . bin2hex($salt); // конкатенируем все данные
// сохраняем $fullHash в базу данных

Обратите внимание, что для использования функций hash_pbkdf2 и random_bytes вам потребуется PHP 5.5 и выше.

Также, при проверке пароля при авторизации, вам нужно будет распарсить хеш и соль из строки в базе данных и сравнить полученный хеш с хешем в базе данных.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 749 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир