python SQL 查询的等效哈希

python equivalent hash for SQL query

我正在使用以下 SQL 查询

生成任何给定 URL 的 md5 散列
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

谁能告诉我如何使用 python

为任何给定的 URL 生成 相同的散列

Python 有一个 hashlib 库。使用 URL 时,您需要在对其进行哈希处理的同时对其进行编码。

import hashlib

result = hashlib.sha256("https://alpena-mi.geebo.com/jobs-online/view/id/760191457-advanced-medical-support-assistant-/".encode('utf-8')).hexdigest()

print(result)

要生成 md5 哈希,您可以使用 python 中的 hashlib 库。 按照下面的示例代码

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

哈希码将为 5cf4fb86bb9ce08c17c54f9dba061413

在您的示例中,您使用了 nvarchar 来转换 URL 字符串。 您可以使用 varchar 或 substring 代替 nvarchar 来生成预期的 md5 哈希。 更多原因:Why generated MD5 hash in sql server are not equal?

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)