【发布时间】:2011-05-05 18:34:46
【问题描述】:
假设您计划设计一个哈希函数,该函数将生成 0-256 之间的密钥。使用 MD5-digest 的前 2 位数字是均匀分布的好主意吗?您对此有何看法? md5() 一些单词(2-10 个字母)是否昂贵?
我知道这是对需求的粗略定义,但最好讨论一下。
【问题讨论】:
-
我想不能保证 MD5 哈希的子集具有均匀分布(类似于 GUID 的工作方式)。
-
考虑到一个多兆字节的文件可以像在现代硬件上“立即”进行 MD5 编辑......但是,输入这么短,嗯.. 嗯。
-
出于好奇,为什么要将两个字符串散列为两个字符散列?
-
我同意大卫的观点。您最好只编写一个快速测试应用程序来运行您的设计数千次,这样您就可以了解成本和统计分布。
-
如果您正在寻找 1 字节哈希。也许 CRC8 会更好。
标签: hash