计算校验和的最快方法和更好的 Sql Server 数据类型来保存它
在我的应用程序中,我将网址内容保存到数据库的特定表中。为了尽量减少重复,我想计算每个内容的校验和。那么保存校验和的最佳 sqlserver 数据类型是什么?以及计算 url 内容(html)校验和的最快方法?
In the my application, i save urls content into specific table of database. to have minimum duplication, i want to compute checksum for each content. so what is best sqlserver data-type for saving checksum's? and fastest way to computing checksum's for contents(html) of urls?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SHA1 可用于计算校验和。结果是一个字节数组,可以在 SQL 中存储为十六进制字符串或 blob 字段,但我认为出于实际原因,字符串会更方便。
SHA1 could be used to calculate the checksum. The result is a byte array which could be stored either as hex string or blob field in SQL but I think for practical reasons a string would be more convenient.
您可以使用 sql server 中的内置函数来计算
任何示例
返回 varbinary 数据类型 0xC50252F4F24784B5D368926DF781EDE9 的
(MD2、MD4、MD5、SHA 或 SHA1),该示例返回 varchar C50252F4F24784B5D368926DF781EDE9
现在,您所要做的就是选择是否想要varchar 或 varbinary 并将其用于您的列
请参阅生成 MD2,使用 HashBytes 进行 MD4、MD5、SHA 或 SHA1 哈希
you can use a built in function in sql server to compute any of these( MD2, MD4, MD5, SHA, or SHA1)
examples
that returns the varbinary datatype 0xC50252F4F24784B5D368926DF781EDE9
that returns a varchar C50252F4F24784B5D368926DF781EDE9
Now all you have to do is picking if you want varchar or varbinary and use that for your column
See Generating a MD2, MD4, MD5, SHA, or SHA1 hash by using HashBytes