gpt4 book ai didi

hash - 可以将SHA256哈希值截断为128位吗?

转载 作者:行者123 更新时间:2023-12-03 22:32:07 34 4
gpt4 key购买 nike

MD5和SHA-1哈希具有抵御冲突攻击的弱点。 SHA256不会,但是会输出256位。我可以安全地获取前128位或后128位并将其用作哈希吗?我知道它会更弱(因为它的位数更少),否则它将起作用吗?

基本上,我想用它来唯一地标识文件系统中可能一天包含一万亿个文件的文件。我知道生日的问题,在一个万亿个文件上,一个128位的散列应该产生大约1万亿分之一的机会,即会有两个不同的文件具有相同的散列。我可以忍受这些困难。

我不能忍受的是,如果有人可以轻松地故意插入一个具有相同散列和相同文件开头字符的新文件。我相信在MD5和SHA1中这是可能的。

最佳答案

是的,那行得通。从理论上讲,最好将两个半部分进行XOR运算,但即使是截断的SHA256也比MD5强。您仍然应该将结果视为128位哈希而不是256位哈希。

在这种特殊情况下,我的特别建议是使用HASH + uniquifier存储和引用,其中uniquifier是您之前使用此哈希看到过多少个不同文件的计数。这样,如果有人尝试存储将来发现的SHA256碰撞矢量,您就不会完全崩溃。

关于hash - 可以将SHA256哈希值截断为128位吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3026762/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com