Оглавление

15.6. Кодирование строк

□ urlencode()  выполняет URL-кодирование  строки. URL-кодирование необходимо, например, для передачи русского текста в строке URL-адреса в качестве параметра сценария:

$str = "Текст на русском языке";
echo urlencode($str); 
// %D2%E5%EA%F1%F2+%ED%E0+%F0%F3%F1%F1%EA%EE%EC+%FF%E7%FB%EA%E5


□ urldecode()  раскодирует  строку,  закодированную  с  помощью  функции urlencode():

$str = "Текст на русском языке";
$str = urlencode($str); 
echo urldecode($str);
// Выведет: Текст на русском языке


Кроме  этих  функций  можно  использовать  функции  rawurlencode() и rawurldecode():

$str = "Текст с пробелами";
$str = rawurlencode($str);
echo $str;
// Выведет:
// %D2%E5%EA%F1%F2%20%F1%20%EF%F0%EE%E1%E5%EB%E0%EC%E8
echo rawurldecode($str);
// Выведет: Текст с пробелами

 

□ md5() кодирует строку, используя алгоритм MD5. Используется для кодирования  паролей,  так  как не  существует  алгоритма  для  дешифровки. Для сравнения введенного пользователем пароля с сохраненным в базе необхо-
димо зашифровать введенный пароль, а затем произвести сравнение:

$pass = "password";
$pass = md5($pass); // Пароль, сохраненный в базе
echo $pass; // Выведет: 5f4dcc3b5aa765d61d8327deb882cf99
$pass2 = "password"; // Пароль, введенный пользователем
if ($pass === md5($pass2)) echo "Пароль правильный";


□ crc32() — кодирует строку, используя алгоритм DES:

$pass = "password";
$pass = crc32($pass);
echo $pass; // Выведет: 901924565
Примечания:
  • ОБРАТИТЕ ВНИМАНИЕ
    Символ пробела заменяется не знаком +, а символами %20.
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити