【发布时间】:2016-09-07 01:10:51
【问题描述】:
我有一个大约的列表。 2500 张图片。对于每张图片,我都会创建一个 SHA1 哈希,我可以使用它来引用每张图片。我还使用哈希在列表中查找重复的图像。
默认情况下,SHA1 哈希的长度为 40 个字符。目前我将哈希值减少到前 7 个字符。 这是一个合理的长度还是碰撞概率太高?
【问题讨论】:
-
什么概率是可以接受的?
-
引用任何带有截断 (!!) 散列的东西从不是个好主意。相反,您应该生成唯一 ID(如升序数字)并使用它们。其他一切都会导致混乱和/或软件错误。甚至像 eclipse EGIT 提交历史哈希这样的用例也是......非常值得怀疑,尽管它们实际上并没有用于显示目的
-
升序数字不会提供图像相同的信息。至于截断,每个位本质上是独立的,因此截断不会降低“随机性”,并且在需要子集(例如 16 字节 IV)时使用更大的哈希例程完成。
标签: encryption hash sha