原理:哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。用途:哈希对于检测数据对象(例如消息)中的修改很有用。
1.哈希算法往往被设计成生成具有相同长度的文本,而加密算法生成的文本长度与明文本身的长度有关;哈希算法是不可逆的,而加密算法是可逆的。
2.哈希算法是一种数据加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,并把它们转化为长度较短、位数固定的输出序列即散列值的过程。
3.不安全的哈希算法则可以逆向推出明文。在密码学中,哈希算法主要用于消息摘要和签名来对整个消息的完整性进行校验,所以需要哈希算法无法推导输入的原始值,这是哈希算法安全性的基础。目前常用的哈希算法包括MD4、MD5、SHA等。