概念
哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。一般用于快速查找和加密算法。
简单哈希算法
哈希算法是常见的数据分布技术,其通过求模运算来计算哈希值,然后据此将数据映射到存储空间中。由于只是采用了简单的求模运算.使得简单哈希计算存在很多不足:
增加删减时,更新效率低。当系统中存储节点数量发生增加或减少时,映射公式将发生变化为hash(object)%(N±1),这将使得所有obiect的映射位置发生变化,整个系统数据对象的映射位置都需要重新进行计算,系统无法对外界访问进行正常响应,将导致系统处于崩溃状态。
平衡性差,未考虑节点性能差异。由于硬件性能的提升,新添加的节点具有更好的承载能力,如何对算法进行改进,使节点性能可以得到较好利用。
单调性不足。衡量数据分布技术的一项重要指标是单调性,单调性是指如果已经有一些内容通过哈希计算分派到了相应的缓冲中,当又有新的缓冲加入到系统中时,哈希的结果应能够保证原有已分配的内容可以被映射到新的缓冲中去,而不会被映射到旧的缓冲集合中的其他缓冲区。
应用实例数字签名方面的应用
哈希算法是现阶段较为先进的加密算法之一,在数字签名方面经常会应用到这一技术。在数字签名过程中,首先要确定出双方认同的哈希算法和签名的方式,签名的一方先要计算出数据文件的哈希值,然后利用哈希值进行非对称算法,得到数字签名。对方在检查签名的过程中,对这条数据信息进行哈希计算,对签字方的哈希值进行比对,比对的方法也是利用非对称算法进行验证。校对信息方面的应用
在对文件信息校对的过程中使用最多、最为普遍的算法就是哈希算法,其中以MD5算法最为常见。因为MD5算法在信息校对中具有奇偶校验法和循环冗余码校验无法比拟的优势,即具有防止对数据进行篡改的能力,有效的阻止了黑客或其他人员对相关数据文件内容进行恶意的修改和破坏,保证了数据的正确性。
留言与评论(共有 0 条评论) |