Закодировать строку как пароль
Пароли не следует хранить в открытом виде. Даже в базе данных.
1-ый способ: password_hash()
В PHP 5.5.0 появилась новая функция для генерации пароля — password_hash()
.
$password = password_hash('пароль', PASSWORD_DEFAULT); echo $password; // $2y$10$hAZy/dJkbOo6VwqJphP7A.Z1qfFbTBgGZMzRUe1gSlOYmhFyeVlQW
Проверить пароль можно через функцию password_verify()
.
$user_password_from_db = '$2y$10$hAZy/dJkbOo6VwqJphP7A.Z1qfFbTBgGZMzRUe1gSlOYmhFyeVlQW'; if (password_verify('пароль', $user_password_from_db)) { echo 'Пароль введён правильно'; }
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
Поддержать автора