【发布时间】:2011-06-28 11:17:45
【问题描述】:
我需要计算一个字符串的哈希码并将其存储到一个“长”变量中。
MD5 和 SHA1 生成的哈希码长度超过 64 位(MD5 - 128 位,SHA1 - 160 位)。
有什么想法吗?
干杯,
多伦
【问题讨论】:
-
一个想法:不要。为什么你认为你需要这样做?
-
@larsmans 可能是因为他们想将其用作非加密哈希作为弱检查,以确保他们不会生成多个相同的东西,并且不想存储很多128 位哈希的十六进制字符串。
-
这是一个很好的方法,用于合成集群键(当您不想存储长用户 ID 时)或在数据库驱动程序文件系统中存储文件哈希。通过存储文件的短哈希值来绝对加速重复检测。我什至会根据文件的前 N 个字节存储一系列哈希,并为文件的后 N 个字节存储另一个哈希。
标签: algorithm hash cryptography md5 sha1