Я пытаюсь сопоставить md5 (сгенерированный через php) с его исходным значением в базе данных SQLExpress.
Я использую следующую функцию в своем запросе SQL
master.sys.fn_varbintohexsubstring(0, HASHBYTES('MD5', 'ID'), 1, 0)
Где 'ID' - это поле в базе данных.
Однако оба они, похоже, возвращают разные значения для хэша md5.Я использовал '12290' в качестве статического значения для проверки этого.
php md5 () возвращает: 0bd81786a8ec6ae9b22cbb3cb4d88179
Следующий оператор SQL возвращает тот же вывод:
DECLARE @password VARCHAR(255)
SET @password = master.sys.fn_varbintohexsubstring(0, HASHBYTES('MD5', '12290'), 1, 0)
SELECT @password
Тем не менее, когда я запускаю следующий оператор из таблицы:
SELECT ID, master.sys.fn_varbintohexsubstring(0, HASHBYTES('MD5', CONVERT(NVARCHAR(255), ID)), 1, 0) AS temp
FROM Clients
ORDER BY ID ASC
Возвращает значение 'temp', соответствующее значению 'ID' 12290: 1867dce5f1ee1ddb46ff0ccd1fc58e03
Любая помощь по этому вопросуБуду очень признателен!
Спасибо