powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Захэшировать пароль md5
13 сообщений из 13, страница 1 из 1
Захэшировать пароль md5
    #38614585
Juliya2010_3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Подскажите пожалуйста, как захэшировать пароль через sql-запрос, пишу:
SELECT count(*) FROM mysql.user WHERE user LIKE '"+Edit1->Text+"%' and password LIKE 'md5"+Edit2->Text+"%'", это в билдере, если простой селект на проверку: SELECT * FROM mysql.user WHERE password=md5('2222')), ничего не находит, хотя пользователь с таким паролем есть в базе. Пробовала в разные места вставлять md5, ничего не помогает. в чем может быть проблема??
...
Рейтинг: 0 / 0
Захэшировать пароль md5
    #38614593
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Открой свою любимую консоль к БД. Сделай в ней запрос. Убедись что этот запрос работает.
2) В своей программе перед выполнением запроса, напечатай его на экране. Сравни то что ты сделала в программе с тем запросом который работает в консоли.
...
Рейтинг: 0 / 0
Захэшировать пароль md5
    #38614601
Juliya2010_3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в том-то и дело, что не работает в консоли бд, и не могу понять в чем ошибка, селект не правильно как-то пишу, а как надо не могу нигде найти.
...
Рейтинг: 0 / 0
Захэшировать пароль md5
    #38614603
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Juliya2010_3, у тебя неправильный запрос. Достаточно было сохранить его в переменную и попробовать выполнить в консоли MySQL. Если в edit1 ввели строку user, а в Edit2 строку pass, то получится запрос:
Код: sql
1.
SELECT count(*) FROM mysql.user WHERE user LIKE 'user%' and password LIKE 'md5pass%'


А должно быть так: (т.к. MD5 это функция):
Код: sql
1.
SELECT count(*) FROM mysql.user WHERE user LIKE 'user%' and password = MD5('pass')


Как это выразить на C++ разберешься самостоятельно.
...
Рейтинг: 0 / 0
Захэшировать пароль md5
    #38614618
Juliya2010_3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я пишу в консоли SELECT * FROM mysql.user WHERE password=md5('2222'), и ничего не выдает, даже если просто select md5('2222'), не преобразует в хэш пароль..
...
Рейтинг: 0 / 0
Захэшировать пароль md5
    #38614638
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Juliya2010_3я пишу в консоли SELECT * FROM mysql.user WHERE password=md5('2222'), и ничего не выдаетА с чего вы решили, что пароли просто хэшируются в MD5?
Для хэширования паролей существует отдельная функция PASSWORD()

Juliya2010_3даже если просто select md5('2222'), не преобразует в хэш пароль..А что выдает?
...
Рейтинг: 0 / 0
Захэшировать пароль md5
    #38614645
Juliya2010_3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
насчет md5 не знаю, везде вроде пишут, вот и подумала, а когда запрос выполняю, пустую строку возвращает и все.
...
Рейтинг: 0 / 0
Захэшировать пароль md5
    #38614654
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Juliya2010_3select md5('2222'), не преобразует в хэш пароль..
вообще-то это преобразование пароля в хэш
у меня выдает 934b535800b1cba8f96a5d72f72f1611
дальше смотри есть ли это значение в поле password
Код: plaintext
1.
SELECT * FROM mysql.user WHERE password='934b535800b1cba8f96a5d72f72f1611'
...
Рейтинг: 0 / 0
Захэшировать пароль md5
    #38614655
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Juliya2010_3насчет md5 не знаю, везде вроде пишут, вот и подумалаПро хэширование с помощью MD5 могут писать в контексте неких других паролей. Но это не значит, что везде именно так. Лучше всего смотреть официальную документацию.


Juliya2010_3пустую строку возвращает и все.Показывайте.
...
Рейтинг: 0 / 0
Захэшировать пароль md5
    #38614661
Juliya2010_3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо большое! оказалось и вправду password функция используется, в консоли заработало, а вот в билдере не преобразует почему-то, пишу селект: SELECT count(*) FROM mysql.user WHERE user LIKE '"+Edit1->Text+"%' and password=PASSWORD('"+Edit2->Text+"%') и так и оставляет введенные мною цифры из edit..
...
Рейтинг: 0 / 0
Захэшировать пароль md5
    #38614664
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Juliya2010_3так и оставляет введенные мною цифры из edit..Оставляет где?
Выведите готовый запрос перед его исполнением куда-нибудь и покажите нам.
...
Рейтинг: 0 / 0
Захэшировать пароль md5
    #38614665
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Juliya2010_3, % убери из аргумента для PASSWORD. Этот символ используется только в операторе LIKE
...
Рейтинг: 0 / 0
Захэшировать пароль md5
    #38614684
Juliya2010_3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо вам большое, все получилось!!!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Захэшировать пароль md5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]