Hash 校验和函数可以用作哈希函数吗?

Hash 校验和函数可以用作哈希函数吗?,hash,cryptography,checksum,Hash,Cryptography,Checksum,我和一个朋友吵了一架。他说它可以作为一个函数使用,但是哈希函数应该具有很强的抗冲突性,校验和函数会有吗?我不太确定 否,通用校验和函数没有很强的抗冲突性。当然,你可以说加密散列函数也是校验和,但这就扭转了这个论点 对于碰撞阻力,您必须考虑生日问题。这意味着哈希函数的安全性大约是输出大小的一半。因此,任何低于160位输出大小(80位安全性)的东西都要直接谨慎,因为暴力强迫会出现。至少您希望有128位输出,MD-5(断开)或RIPEMD-128的输出 一般来说,您可以直接取消任何至少没有128位输出

我和一个朋友吵了一架。他说它可以作为一个函数使用,但是哈希函数应该具有很强的抗冲突性,校验和函数会有吗?我不太确定

否,通用校验和函数没有很强的抗冲突性。当然,你可以说加密散列函数也是校验和,但这就扭转了这个论点

对于碰撞阻力,您必须考虑生日问题。这意味着哈希函数的安全性大约是输出大小的一半。因此,任何低于160位输出大小(80位安全性)的东西都要直接谨慎,因为暴力强迫会出现。至少您希望有128位输出,MD-5(断开)或RIPEMD-128的输出

一般来说,您可以直接取消任何至少没有128位输出的函数。也就是说,假设对手不受其他方式的限制,例如用于生成哈希的设置重试次数


注意,内部结构也很重要;如果算法不是专门作为加密散列创建的,那么它们抗冲突的可能性约为零。

否,通用校验和函数没有很强的抗冲突性。当然,你可以说加密散列函数也是校验和,但这就扭转了这个论点

对于碰撞阻力,您必须考虑生日问题。这意味着哈希函数的安全性大约是输出大小的一半。因此,任何低于160位输出大小(80位安全性)的东西都要直接谨慎,因为暴力强迫会出现。至少您希望有128位输出,MD-5(断开)或RIPEMD-128的输出

一般来说,您可以直接取消任何至少没有128位输出的函数。也就是说,假设对手不受其他方式的限制,例如用于生成哈希的设置重试次数


注意,内部结构也很重要;如果算法不是专门作为加密散列创建的,那么它们抗冲突的可能性大约为零。

可以和应该之间存在差异。还有很多不同的校验和。所以没有一个单一的答案。Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。可能和应该是有区别的。还有很多不同的校验和。所以没有一个单一的答案。Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。