哈希算法(Hash Algorithm)是一种将任意长度的输入(又称为“消息”)通过散列函数转换成固定长度的输出(通常是一个较小的数字,称为“哈希值”或“哈希”)的算法。这种转换是单向的,也就是说,一旦消息被转换成哈希值,几乎不可能从哈希值反向推导出原始消息。
哈希算法在计算机科学和密码学中有着广泛的应用,以下是一些关键点:
1. 不可逆性:理想的哈希算法应该是不可逆的,即从哈希值不能推导出原始数据。
3. 雪崩效应:输入数据的微小变化,都会导致输出的哈希值发生巨大变化。
4. 固定长度:无论输入数据有多长,输出的哈希值长度都是固定的。
以下是一些常见的哈希算法:
MD5:广泛使用的一种哈希算法,但由于其安全性问题,现在已不再推荐用于安全敏感的应用。
SHA-1:比MD5更安全的哈希算法,但由于安全漏洞,也被认为不再安全。
SHA-256:SHA-2家族的一员,目前被认为是安全且广泛使用的哈希算法。
SHA-3:SHA-2的替代品,由美国国家标准与技术研究院(NIST)在2015年正式采纳。