截断sha-160哈希会产生合理的哈希吗?

Wil*_*mKF 2 hash cryptography truncate sha

我有一个sha-160计算,给我160位哈希的数据,但我希望这比必要的大.所以我想我可以将生成的哈希截断为低64位并使用它.

采用sha-160哈希计算的低64位是否给出了合理随机的64位哈希?

Gar*_*han 5

对于某些好的哈希来说意味着什么的一部分是它的位的任何固定子集也是(尽可能地,给定多少位)良好的哈希.SHA-160散列的低64位应该是一个好的64位散列,只要有这样的东西.

请注意,出于某些目的,64位真的不是那么多.例如,如果你的应用程序中有任何东西在有人发现具有相同散列的两个不同的东西时中断,你可能想要更长的东西:平均而言,只需要适度的数十亿次试验来找到具有相同64位散列的两件事,无论你的哈希算法是什么.

如果你只使用全部160位会发生什么坏事?