Как зашифровать пароль в PHP?

Пользователь

от jeremy_larkin , в категории: PHP , 2 года назад

Как зашифровать пароль в PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от carlo.cummerata , 2 года назад

@jeremy_larkin Вы можете использовать password_hash() функцию, чтобы зашифровать пароль в PHP. Как вариант еще можно найти в коде md5() функцию, которая тоже еще часто используется для создания хэща пароля, посмотрите пример ниже:


1
2
3
4
5
6
7
<?php

// Вывод: $2y$10$Qo7ZdxqyBkuUrHPSy1uxaeEq.uEIB.pRjnnkpprIVcRTigrkpTzDe
echo password_hash("pass", PASSWORD_DEFAULT);

// Вывод: 1a1dc91c907325c69271ddf0c944bc72
echo md5("pass");


Пользователь

от autumn_parker , год назад

@jeremy_larkin 

В PHP есть несколько способов зашифровать пароль. Наиболее безопасным считается использование функции password_hash(), которая использует хеширование с солью для защиты пароля.


Пример использования функции password_hash():

1
2
$password = "mypassword";
$hashed_password = password_hash($password, PASSWORD_DEFAULT);


Функция password_hash() возвращает хеш пароля, который можно сохранить в базе данных. Для проверки введенного пользователем пароля на соответствие хешу используется функция password_verify():

1
2
3
4
5
6
$entered_password = "mypassword";
if (password_verify($entered_password, $hashed_password)) {
    echo "Password is valid!";
} else {
    echo "Invalid password!";
}


Важно помнить, что функция password_hash() возвращает различный хеш при каждом вызове, даже для одного и того же пароля, что делает невозможным получение оригинального пароля из хеша.