0

在我的应用程序中,我将 urls 内容保存到特定的数据库表中。为了减少重复,我想计算每个内容的校验和。那么保存校验和的最佳sqlserver数据类型是什么?以及计算 url 内容(html)校验和的最快方法?

4

2 回答 2

3

SHA1可用于计算校验和。结果是一个字节数组,可以在 SQL 中存储为十六进制字符串或 blob 字段,但我认为出于实际原因,字符串会更方便。

于 2010-09-11T15:13:13.363 回答
2

您可以使用 sql server 中的内置函数来计算其中的任何一个(MD2、MD4、MD5、SHA 或 SHA1)

例子

SELECT HashBytes('MD5', 'http://www.cnn.com')

返回 varbinary 数据类型 0xC50252F4F24784B5D368926DF781EDE9

SELECT CONVERT(VARCHAR(32),HashBytes('MD5', 'http://www.cnn.com'),2)

返回一个varchar C50252F4F24784B5D368926DF781EDE9

现在您所要做的就是选择是否需要 varchar 或 varbinary 并将其用于您的列

请参阅使用 HashBytes 生成 MD2、MD4、MD5、SHA 或 SHA1 哈希

于 2010-09-11T15:27:11.523 回答