二进制哈希 - 它是什么?

rus*_*009 9 hash

我想了解二进制哈希是什么.我的理解是,你将你的信息分成四个部分,D1-D4,然后你可以单独获得每个部分,并获得H1-H4.然后哈希H1 + H2和H3 + H4以创建H5和H6.然后哈希H5和H6来生成最终的哈希值H.这是正确的吗?如果不是,请告诉我哪里出错了,谢谢!

Jam*_*son 3

看看这个描述 CRC32 的页面 -好旧的维基百科

这可能是最简单的哈希算法(当然不是最好的!),但它应该让您大致了解哈希的工作原理。

所有其他哈希算法基本上都做同样的事情,但算法要么更难逆转(sha256 等),要么给出更均匀的结果分布和更小的冲突可能性(perlhash 等)。

哪个最好取决于您想要哈希的目的:

  • 证明文件未被篡改 --> sha256/512。
  • 存储密码或其他您想要保密的值 --> sha256/512
  • 从字符串获取数组或数据库记录的数字键 --> perlhash 或类似的。
  • 快速混淆或屏蔽帐号 --> crc32

这是一篇优秀的文章,描述了 Perl 编程语言bob burtle's hash使用的哈希函数