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

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

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

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

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

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

20 Апр 2024 в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир