Hash 为什么哈希的长度总是16的倍数

Hash 为什么哈希的长度总是16的倍数,hash,Hash,我似乎找不到一个我能理解的答案,来回答为什么散列往往是16个字符的倍数。例如:SHA-512有128个字符,SHA-256有64个字符,MD5有32个字符等等。这可能是什么情况?计算机中的一切都可以归结为相同的基本原理,其中一个是内存,以2的幂倍数来衡量。如果您实现了一个HashMap并决定可以将密钥存储在32位中,那么您可以选择生成32位的最佳哈希算法。为什么是32位?因为这就是CPU操作本机支持的最大整数大小在您要实现的体系结构上,而有些则没有。例如,SHA-224是28个字节。RIPEMD

我似乎找不到一个我能理解的答案,来回答为什么散列往往是16个字符的倍数。例如:SHA-512有128个字符,SHA-256有64个字符,MD5有32个字符等等。这可能是什么情况?

计算机中的一切都可以归结为相同的基本原理,其中一个是内存,以2的幂倍数来衡量。如果您实现了一个HashMap并决定可以将密钥存储在32位中,那么您可以选择生成32位的最佳哈希算法。为什么是32位?因为这就是CPU操作本机支持的最大整数大小在您要实现的体系结构上,而有些则没有。例如,SHA-224是28个字节。RIPEMD-160和SHA-1是20个字节。Sergiu,这是偏见,不是任何特定的计算机基础。我开始用60位字在计算机上编程。@gnasher729当然,我同意,应该写“大多数现代计算机中的一切”。