Общие > Базы данных

Функция PASSWORD в MySQL

(1/2) > >>

Skif:
Люди сведующие, подскажите пожалуйста, есть ли какая-то возможность средствами перла эмулировать PASSWORD функцию Mysql? Просто у меня имеется база с паролями и именами пользователей. Пароли закриптованы этой самой функцией. Вытащить от туда не получается никаким макаром, для того, что бы провести авторизацию пользователя.
Так как она работает по md5 следовательно хеш уникальный.
тобишь если я наберу что-то я-ля

$pass=PASSWORD(\'secret\');

 сделаю выборку в таблице:

SELECT login,pass from table_pass;

Выбираю нужную ячейку pass и приравниваю $db_pass
Тогда можно сравнивать $db_pass/$pass и по результатам проводить положительную или отрицательную авторизацию
Все, что я на сегодня придумал это создать дополнительную таблицу куда будет загоняться вводимый пароль в форме, а потом производиться выборка загнанного пароля. Но неохота делать такое - очень много всего потом писать надо будет ;))) (ленивый я). Может есть какая возможность с эмулировать сию функцию?

ondr:
Что мешает в запросе использовать mysql функцию password() ?  ( where pass like binary password(\'1234\') )

NeoNox:
perldoc Digest::MD5

Skif:
ondr Не понял. Если я в селекте начинаю использовать, тогда получиться что я еще раз закриптую пароль. Или ты имеешь в виду такой вариантец:

$pass=param(\'pass\');
$dbh = DBI->connect
                ("DBI:mysql:host=localhost;database=passwords","pupkin","secret");

$sth = $dbh->prepare("SELECT login,passwd FROM table WHERE password($pass)=passwd")

$sth->finish();
$dbh->disconnect();


Я правильно понял? ТОгда вопрос, пока я не вставил этот кусок кода (просто where еще ни разу не использовал - только начинаю с базами разбираться) левая часть понятна, а вот правая от равно это будет сравнени.выборка строк только тех, где в колонке passwd совпадает значение с password($pass), так?
NeoNox Пробовал, у меня хеши почему-то разные выходят :(((

ondr:
Skif
Ты всё правильно понял.
Только я в предыдущем своем посте поправил. Лучше так
WHERE passwd LIKE binary PASSWORD($pass) (а то регистр не будет учитываться)

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии