Закодировать строку как пароль
❗ Пароли не следует хранить в открытом виде. Даже в базе данных.
1-ый способ: password_hash (рекомендуется)
В PHP есть функция для генерации пароля — password_hash().
$password = password_hash('пароль', PASSWORD_DEFAULT);
echo $password; // $2y$10$hAZy/dJkbOo6VwqJphP7A.Z1qfFbTBgGZMzRUe1gSlOYmhFyeVlQW
Проверить пароль можно через функцию password_verify().
$userPasswordFromDb = '$2y$10$hAZy/dJkbOo6VwqJphP7A.Z1qfFbTBgGZMzRUe1gSlOYmhFyeVlQW';
if (password_verify('пароль', $userPasswordFromDb)) {
echo 'Пароль введён правильно';
}
Функция password_hash() автоматически добавляет «соль» к паролю (т.е. для одной и тойже строки каждый раз генерируется новое значение).
По умолчанию используется алгоритм хеширования bcrypt (алгоритм разработан в 1999 году для хранения паролей).
Функция password_hash() доступна с версии PHP 5.5.0.
2-ой способ: crypt (для более старых версий)
Рекомендуется использовать на сайтах, на которых PHP установлен меньше версии PHP 5.5.
$user_password = 'password';
$salt = '$1$adsyu&823ji$';
crypt($user_password, $salt); // $1$adsyu&82$cG6Jx1S.y69G7PZoVY4cP/
3-ий способ: md5 (не рекомендуется)
Данный способ указан в качестве примера, использовать его не рекомендуется. Об этом также указано в официальной документации php.net/manual/ru/function.md5.php.
md5('password'); // 5f4dcc3b5aa765d61d8327deb882cf99
Поддержать автора
Все статьи создаются и поддерживаются одним человеком,
если вам нравится контент, вы можете поддержать автора сайта
