那么在8个字符中发生碰撞的几率明显高于与两个Sha1键碰撞的几率,但这并不意味着它可能会发生.
我建议你做一些测试.生成随机输入并查看碰撞前需要多长时间.如果你喜欢这个结果,那就去吧.否则,你需要一个更长的字符串.
编辑:您还可以通过查看生日悖论来计算碰撞的几率.
基本上,如果您从SHA-1获取前8个十六进制数字,那么您有16**8(4,294,967,296)个不同的可用组合.
使用在线Birthay Paradox计算器,在大约9200次哈希之后,您将有1%的碰撞几率.在你有10%的几率之前需要大约30,000个哈希值,在你有50%的几率之前需要77,000个哈希值.
重要的是要指出,只要你的哈希函数做一个伪随机的好工作,你使用哪一个(无论是SHA1,MD5,还是任何形式的校验和)都无关紧要 - 这些数字假设完全随机的输入,因此您只能通过使用越来越好的哈希函数来处理这些值.
所以最终,这取决于你期望的流量.如果这是一个小网站,你可以侥幸逃脱.如果是大量的流量,那么你的碰撞几率非常高.