Как зашифровать и расшифровать текст в PHP?

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

от vladimir , в категории: PHP , 3 года назад

Как зашифровать и расшифровать текст в PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от dmitrypro77 , 3 года назад

@vladimir Вы можете использовать готовые библиотеки или алгоритмы или встроенные в PHP функции convert_uuencode()/convert_uudecode() или популярныю base64_encode()/base64_decode() функции в PHP чтобы зашифровать и расшифровать текст обратно, пример кода:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<?php

$text = "Тестовая строка";

// Закодированная строка
$decodedString = convert_uuencode($text);

// Раскодировать строку назад
// Вывод: Тестовая строка
echo convert_uudecode($decodedString);

// ИЛИ base64_encode/base64_decode
// Закодированная
$encoded = base64_encode($text);
// Раскодированная
$decoded = base64_decode($encoded);

// Вывод: Тестовая строка
echo $decoded;


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

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

от catherine_wintheiser , 2 года назад

@vladimir 

В PHP есть несколько способов зашифровать и расшифровать текст. Рассмотрим два наиболее распространенных метода:

  1. Использование функций base64_encode и base64_decode


Функция base64_encode принимает на вход строку и возвращает ее в закодированном виде в формате base64. Чтобы раскодировать закодированный текст, используйте функцию base64_decode.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// Закодировать текст
$original_text = "Hello, world!";
$encoded_text = base64_encode($original_text);

// Раскодировать текст
$decoded_text = base64_decode($encoded_text);

echo "Исходный текст: " . $original_text . "<br>";
echo "Закодированный текст: " . $encoded_text . "<br>";
echo "Раскодированный текст: " . $decoded_text . "<br>";


  1. Использование функций mcrypt_encrypt и mcrypt_decrypt


Функция mcrypt_encrypt использует указанный алгоритм шифрования и ключ для шифрования переданной строки. Чтобы расшифровать зашифрованный текст, используйте функцию mcrypt_decrypt.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
// Зашифровать текст
$original_text = "Hello, world!";
$encryption_key = "secret_key";
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC), MCRYPT_RAND);
$encrypted_text = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $encryption_key, $original_text, MCRYPT_MODE_CBC, $iv);

// Расшифровать текст
$decrypted_text = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $encryption_key, $encrypted_text, MCRYPT_MODE_CBC, $iv);

echo "Исходный текст: " . $original_text . "<br>";
echo "Зашифрованный текст: " . $encrypted_text . "<br>";
echo "Расшифрованный текст: " . $decrypted_text . "<br>";


Обратите внимание, что функции mcrypt_encrypt и mcrypt_decrypt являются устаревшими в PHP 7.1.0 и были удалены из PHP в версии 7.2.0. Вместо них рекомендуется использовать расширение OpenSSL.