URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4414
[ Назад ]

Исходное сообщение
"Md5 в Perl"

Отправлено Hostik , 29-Июн-05 10:25 
Доброго времени суток, такой вопрос -
у меня в БД хранятся пароли пользователей в зашифрованном виде (md5)
есть страничка авторизации которая передает данные в перловый скрипт, требуется проверить правильность пароля, что-то типа
my $result=$dbh->prepare("select * from admins");
$result->execute;
my $name= $result->fetshrow_hashref();
if ($passwd eq ($name-{'passwd'})) {

что-то

}
как мне сделать чтобы $passwd он шифровал и сверял с данными в БД?
что-то типа if (md5($passwd)) тока как точно написать?


Содержание

Сообщения в этом обсуждении
"Md5 в Perl"
Отправлено mthawk , 29-Июн-05 10:36 
>Доброго времени суток, такой вопрос -
>у меня в БД хранятся пароли пользователей в зашифрованном виде (md5)
>есть страничка авторизации которая передает данные в перловый скрипт, требуется проверить правильность
>пароля, что-то типа
>my $result=$dbh->prepare("select * from admins");
>$result->execute;
>my $name= $result->fetshrow_hashref();
>if ($passwd eq ($name-{'passwd'})) {
>
>что-то
>
>}
>как мне сделать чтобы $passwd он шифровал и сверял с данными в
>БД?
>что-то типа if (md5($passwd)) тока как точно написать?

Воспользуйтесь модулем Digest::MD5

use Digest::MD5 qw(md5_hex);

$md=md5_hex(1234567890);

print "$md\n";


"Md5 в Perl"
Отправлено PoizOn , 29-Июн-05 16:36 
>>Доброго времени суток, такой вопрос -
>>у меня в БД хранятся пароли пользователей в зашифрованном виде (md5)
>>есть страничка авторизации которая передает данные в перловый скрипт, требуется проверить правильность
>>пароля, что-то типа
>>my $result=$dbh->prepare("select * from admins");
>>$result->execute;
>>my $name= $result->fetshrow_hashref();
>>if ($passwd eq ($name-{'passwd'})) {
>>
>>что-то
>>
>>}
>>как мне сделать чтобы $passwd он шифровал и сверял с данными в
>>БД?
>>что-то типа if (md5($passwd)) тока как точно написать?
>
>Воспользуйтесь модулем Digest::MD5
>
>use Digest::MD5 qw(md5_hex);
>
>$md=md5_hex(1234567890);
>
>print "$md\n";

Только не путайте md5 и md5_hex. Обычно применяется последний.


"Md5 в Perl"
Отправлено rWizard , 29-Июн-05 17:29 
SELECT count(login) FROM admins WHERE login='$login' AND pass_in_md5 = MD5('$passwd')

"Md5 в Perl"
Отправлено PoizOn , 29-Июн-05 17:44 
>SELECT count(login) FROM admins WHERE login='$login' AND pass_in_md5 = MD5('$passwd')
Оптимальное решение в данном случае.