为什么数据结构中没有使用加密哈希函数?

时间:2014-03-12 08:00:49

标签: data-structures hash cryptography

虽然像MD5这样的某些算法在安全行业方面还没有经得起时间的考验,但其他像SHA系列的功能(到目前为止)已经存在。然而,尽管在其域内发现或理论上存在冲突,但加密散列函数仍然为任意长度和类型的数据提供了令人难以置信的良好分布的固定长度输出映射范围 - 为什么它们不经常在数据结构中使用?哈希表(提供一个好的函数)的目标不是将每个输入映射到唯一键,这样链接,嵌套表和其他冲突处理技术变得完全没有意义吗?能够将几乎所有东西都送到一个功能当然很方便,并且知道你将获得的钥匙的确切长度!对我来说似乎是退休安全协议的理想用途。

1 个答案:

答案 0 :(得分:3)

加密哈希函数可以用作哈希表中的哈希函数。只是不经常。加密哈希的缺点是,与哈希表中使用的更传统的哈希函数相比,它们在处理能力方面非常“昂贵”。

传统的哈希函数具有哈希表所需的所有特性,但需要的CPU周期较少。现在这有一些变化,但现在大多数芯片组都包括这些加密哈希的硬件加速。

使用加密哈希函数生成的'index'太大了。因此,您需要通过减少或屏蔽来减少它。 (您不需要16个字节的哈希表索引;))

总而言之,他们往往不值得麻烦......

相关问题