MD5和SHA-1哈希具有抵御冲突攻击的弱点.SHA256没有,但它输出256位.我可以安全地获取第一个或最后一个128位并将其用作哈希值吗?我知道它会更弱(因为它的位数较少),但否则会有效吗?
基本上我想用它来唯一地识别文件系统中可能有一天包含万亿个文件的文件.我知道生日问题,128位散列应该会产生大约1万亿的机会,万亿个文件会有两个不同的文件具有相同的散列.我可以忍受这些可能性.
我不能忍受的是,如果有人可以轻易地,故意地插入具有相同散列和文件的相同开头字符的新文件.我相信MD5和SHA1这是可能的.