[英]python equivalent hash for SQL query
我正在使用以下 SQL 查询生成任何给定 URL 的md5
hash
select CONVERT(NVARCHAR(50),HASHBYTES('MD5',convert(nvarchar(2000),'https://alpena-mi.geebo.com/jobs-online/view/id/760191457-advanced-medical-support-assistant-/')),1)
生成的 Hash 0x9CA5B450B714C6C07BD1904D3080B4E4
谁能告诉我如何使用 python 为任何给定的 URL 生成相同的 hash
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 hash,您可以使用 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 或 ZE83AED3DDF4667DEC0DAAAACB2BB3BE0BZ 而不是 nvarchar 来生成预期的 md5 hash。 更多原因: 为什么在 sql 服务器中生成的 MD5 hash 不相等?
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.