Как зашифровать строку в php?

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

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

Как зашифровать строку в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от francisco.friesen , 2 года назад

@brook 

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


Один из наиболее распространенных способов - это использование функции password_hash(), которая использует алгоритм хеширования Bcrypt.


Вот пример использования password_hash(), чтобы зашифровать строку:

1
2
$password = 'my_password'; // строка для шифрования
$hashed_password = password_hash($password, PASSWORD_DEFAULT); // зашифрованная строка


В этом примере мы передаем строку 'my_password' в функцию password_hash(), которая возвращает зашифрованную версию этой строки в переменную $hashed_password. Функция password_hash() автоматически генерирует случайную соль для каждого хэша, что делает его более безопасным.


Если вы хотите проверить, соответствует ли пароль зашифрованной строке, вы можете использовать функцию password_verify():

1
2
3
4
5
6
7
8
$password = 'my_password'; // исходный пароль
$hashed_password = '$2y$10$J8Rv0mQ.gk2j9oOZr3qNZuDSErNjw5PK5g5/kC0QDvN5PryjM/9Ze'; // зашифрованная строка

if (password_verify($password, $hashed_password)) {
    echo 'Пароль верный!';
} else {
    echo 'Пароль неверный!';
}


В этом примере мы передаем исходный пароль в функцию password_verify() вместе с зашифрованной строкой $hashed_password. Если пароль соответствует зашифрованной строке, функция вернет true, в противном случае - false.

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

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

@brook 

Также в PHP можно использовать другие алгоритмы шифрования, такие как MD5 или SHA. Вот примеры использования этих алгоритмов:

  1. MD5:
1
2
$password = 'my_password'; // строка для шифрования
$hashed_password = md5($password); // зашифрованная строка


В этом примере мы используем функцию md5(), которая возвращает хеш-значение строки. Однако, следует отметить, что MD5 считается сейчас устаревшим и слабо безопасным алгоритмом.

  1. SHA:
1
2
$password = 'my_password'; // строка для шифрования
$hashed_password = sha1($password); // зашифрованная строка


В этом примере мы используем функцию sha1(), которая возвращает хеш SHA-1 для строки. Однако, и SHA-1 также является устаревшим и может быть взломан с использованием специальных атак.


В целом, рекомендуется использовать функцию password_hash() с алгоритмом Bcrypt для безопасного шифрования паролей в PHP.