эквивалентный Python хеш для SQL-запроса - PullRequest
0 голосов
/ 12 ноября 2019

Я генерирую хэш md5 для любого заданного URL, используя следующий SQL-запрос

select CONVERT(NVARCHAR(50),HASHBYTES('MD5',convert(nvarchar(2000),'https://alpena-mi.geebo.com/jobs-online/view/id/760191457-advanced-medical-support-assistant-/')),1)

Сгенерированный хэш 0x9CA5B450B714C6C07BD1904D3080B4E4

Может кто-нибудь сказать, как мне сгенерировать тот же хеш для любого заданного URL с использованием python

1 Ответ

1 голос
/ 12 ноября 2019

Для генерации хеша md5 вы можете использовать библиотеку hashlib в python. Следуйте приведенному ниже примеру кода

import hashlib
print(hashlib.md5('https://alpena-mi.geebo.com/jobs-online/view/id/760191457-advanced-medical-support-assistant-/').hexdigest())

Хэш-код будет 5cf4fb86bb9ce08c17c54f9dba061413

В вашем примере вы использовали nvarchar для преобразования строки URL. Вместо nvarchar вы можете использовать varchar или подстроку для генерации ожидаемого хеша md5. Для большей причины: Почему сгенерированный хеш MD5 на сервере sql не равен?

SELECT CONVERT(NVARCHAR(50),HASHBYTES('MD5',convert(varchar(2000),'https://alpena-mi.geebo.com/jobs-online/view/id/760191457-advanced-medical-support-assistant-/')),2)

SELECT CONVERT(NVARCHAR(50),HASHBYTES('MD5',SUBSTRING('https://alpena-mi.geebo.com/jobs-online/view/id/760191457-advanced-medical-support-assistant-/',0,2000)),2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...