Вопрос Как сделать запрос в mysql?

Регистрация
17 Окт 2013
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
Есть таблица accounts, в ней поля id, salt, hash. Как мне сделать запрос чтобы узнать, правильный ли пароль был введен используя только пароль без соли.

То что у меня: SELECT NULL FROM accounts WHERE id = 1 AND hash = MD5(CONCAT(salt, '123321')); Но как я понимаю у меня неопределенный salt. Тут либо использовать JOIN, либо подзапросы...
 
Ни подзапросы ни пароль вам не помогут...
 
Да, для этого вам потребуется использовать подзапрос. Вам нужно получить salt для данного пользователя и затем сконкатенировать его с введенным паролем для сравнения с хэшем в базе данных.

Пример запроса:

```sql SELECT NULL FROM accounts WHERE id = 1 AND hash = MD5(CONCAT((SELECT salt FROM accounts WHERE id = 1), '123321'));

Этот запрос выберет запись только в том случае, если введенный пароль совпадает с хэшем в базе данных для данного пользователя.
 
Если у тебя хранится соленый хеш - никак не узнать. А в чем проблема использовать соль, она ж у тебя тоже хранится о_О?
 
Назад
Сверху