原理:哈希算法將任意長度的二進制值映射為較短的固定長度的二進制值,這個小的二進制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨后的哈希都將產生不同的值。用途:哈希對于檢測數(shù)據(jù)對象(例如消息)中的修改很有用。
1.哈希算法往往被設計成生成具有相同長度的文本,而加密算法生成的文本長度與明文本身的長度有關;哈希算法是不可逆的,而加密算法是可逆的。
2.哈希算法是一種數(shù)據(jù)加密算法,該算法的思想是接收一段明文,然后以一種不可逆的方式將它轉換成一段(通常更小)密文,并把它們轉化為長度較短、位數(shù)固定的輸出序列即散列值的過程。
3.不安全的哈希算法則可以逆向推出明文。在密碼學中,哈希算法主要用于消息摘要和簽名來對整個消息的完整性進行校驗,所以需要哈希算法無法推導輸入的原始值,這是哈希算法安全性的基礎。目前常用的哈希算法包括MD4、MD5、SHA等。