Доброго времени суток, такой вопрос -
у меня в БД хранятся пароли пользователей в зашифрованном виде (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)
>есть страничка авторизации которая передает данные в перловый скрипт, требуется проверить правильность
>пароля, что-то типа
>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)
>>есть страничка авторизации которая передает данные в перловый скрипт, требуется проверить правильность
>>пароля, что-то типа
>>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. Обычно применяется последний.
SELECT count(login) FROM admins WHERE login='$login' AND pass_in_md5 = MD5('$passwd')
>SELECT count(login) FROM admins WHERE login='$login' AND pass_in_md5 = MD5('$passwd')
Оптимальное решение в данном случае.