如何在 SQL Server 中计算图像列的校验和(无论是 MD5
还是其他任何内容)?即类似的东西
SELECT HASHBYTES('md5', d.data)
FROM ATTACHMENTDATA D
8116 Argument data type image is invalid for argument 2 of hashbytes function
试:
SELECT HASHBYTES('md5', CONVERT(nvarchar(4000), d.data))
FROM ATTACHMENTDATA D
结果是:
529 Explicit conversion from data type image to nvarchar is not allowed
如果这很重要,我使用 Microsoft SQL Server 10.50.4000 (SQL Server 2008 R2)
最佳答案
将数据列转换为 VARBINARY
:
SELECT HASHBYTES('md5', CAST(d.data AS VARBINARY(MAX)))
FROM ATTACHMENTDATA D
MD5
弱哈希算法使用 SHA1
, SHA2_256
或 SHA2_512
反而。另请注意:
IMAGE
数据类型已弃用。
关于sql-server - SQL Server 中图像列的 MD5 总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33256722/