Получение ошибки при попытке хэширования в SQL - PullRequest
0 голосов
/ 28 марта 2012

Я хочу сравнить строку в виде открытого текста в базе данных со строкой, хэшированной с MD5().Я пытался сделать что-то вроде этого:

SELECT member_email, is_validated FROM members
WHERE CONVERT(VARCHAR(32), HASHBYTES('MD5', 'member_email'), 2) = '".$_GET['vy']."'
AND is_validated = '0'

Но я получаю You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VARCHAR(32), HASHBYTES('MD5', 'member_email'), 2) = '' AND is_valida' at line 2.Если я удалю 'in 'member_email', так что HASHBYTES('MD5', member_email), я получу то же сообщение об ошибке.В чем дело?Нужно ли помещать хеш MD5 в базу данных, чтобы сравнить его с тем же хешем MD5 в $_GET['vy']?

Заранее спасибо!

1 Ответ

0 голосов
/ 28 марта 2012

MySQL имеет HASHBYTES()?http://dev.mysql.com/doc/refman/5.6/en/encryption-functions.html

Вы пробовали:

SELECT member_email, is_validated FROM members
WHERE CONVERT(VARCHAR(32), MD5(member_email), 2) = '".$_GET['vy']."'
AND is_validated = '0'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...