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

Для кодирования строки применяется модуль Digest: :MD5. Алгоритм MD5 используется для кодирования паролей. Для шифрования используются три функции: md5(), md5_hex() и md5_base64 (). Функция md5() возвращает строку из 16 символов, md5_hex () — из 32 символов, a md5_base64 — из 22. Если не¬обходима совместимость с РНР-функцией md5(), то следует шифровать па¬роль с помощью функции md5_hex (). Приведем вывод каждой функции:
use Digest::MD5 qw(md5 md5_hex md5_base64);
$pass = "password";
$passl = md5($pass); # _MM;Z§eHjr"IOS,fFM
$pass2 = md5_hex($pass); # 5f4dcc3b5aa765d61d8327deb882cf99 $pass3 = md5_base64($pass); # X03M01qnZdYdgyfeuILPmQ
Для проверки введенного пользователем пароля необходимо зашифровать введенный пароль, а затем произвести сравнение с"сохраненным в базе:

#!/usr/bin/perl -w
# Выводим все сообщения об ошибках
# в окно Web-браузера

use CGI::Carp qw (fatalsToBrowser);
# Шифрование Md5
use Digest::MD5 qw( md5_hex );
print "Content-type: text/html\n\n";
$pass = "5f4dcc3b5aa7 65d61d8327deb882cf99"; # Пароль, сохраненный в базе $pass2 = "password"; # Пароль, введенный пользователем if ($pass eq md5_hex($pass2)) { # Проверка правильности пароля print "Пароль правильный";
}
Для шифрования можно воспользоваться объектным стилем. Обратите вни¬мание, результат отличается от результата, возвращаемого функциями.
use Digest::MD5;
$pass = "password";
$dg = Digest::MD5->new;
$dg->add($pass);
$passl = $dg->digest; # _MM;Z§eII:"^г"Юё,^
$pass2 = $dg->hexdigest; # d41d8cd98f00b204e9800998ecf8427e $pass3 = $dg->b64digest; # lB2M2Y8AsgTpgAmY7PhCfg



Web сайты на Perl и MySql