Автор Тема: Функция PASSWORD в MySQL  (Прочитано 4292 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Skif

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 187
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Функция PASSWORD в MySQL
« : 26 Ноября 2003, 13:21:57 »
Люди сведующие, подскажите пожалуйста, есть ли какая-то возможность средствами перла эмулировать PASSWORD функцию Mysql? Просто у меня имеется база с паролями и именами пользователей. Пароли закриптованы этой самой функцией. Вытащить от туда не получается никаким макаром, для того, что бы провести авторизацию пользователя.
Так как она работает по md5 следовательно хеш уникальный.
тобишь если я наберу что-то я-ля

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

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

SELECT login,pass from table_pass;

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

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Функция PASSWORD в MySQL
« Ответ #1 : 26 Ноября 2003, 13:44:35 »
Что мешает в запросе использовать mysql функцию password() ?  ( where pass like binary password(\'1234\') )
« Последнее редактирование: 26 Ноября 2003, 13:51:25 от ondr »
0 OK, 0:1

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Функция PASSWORD в MySQL
« Ответ #2 : 26 Ноября 2003, 13:46:31 »
perldoc Digest::MD5
The documentations is your friend

Оффлайн Skif

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 187
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Функция PASSWORD в MySQL
« Ответ #3 : 26 Ноября 2003, 14:00:03 »
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

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Функция PASSWORD в MySQL
« Ответ #4 : 26 Ноября 2003, 14:14:40 »
Skif
Ты всё правильно понял.
Только я в предыдущем своем посте поправил. Лучше так
WHERE passwd LIKE binary PASSWORD($pass) (а то регистр не будет учитываться)
0 OK, 0:1

Оффлайн Skif

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 187
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Функция PASSWORD в MySQL
« Ответ #5 : 26 Ноября 2003, 14:23:22 »
Ага, спасибо большое, а то я уже начал прикидывать как буду извращаться  создавая дополнительную таблицу, когда юзверы гурьбой потянуться авторизироваться;)))
Всё будет хорошо - я договорился!

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Функция PASSWORD в MySQL
« Ответ #6 : 26 Ноября 2003, 15:24:41 »
функция PASSWORD() в MySQL разработана для собственной системы привилегий и использовать ее в своих собственных приложениях не рекоммендуется.
Используй, например, MD5(), как тебе советовали выше.
На Машине Тьюринга далеко не уедешь.

 

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