(3)散列算法也稱為單向散列函數、哈希算法或消息摘要算法。它通過把一個單向數學函數應用于數據,將任意長度的一塊數據轉換為一個定長的、不可逆轉的數據。這段數據通常叫作消息摘要。消息摘要代表了原始數據的特征,當原始數據發生改變時,重新生成的消息摘要也會隨之變化,即使原始數據的變化非常小,也可以引起消息摘要的很大變化。
因此,消息摘要算法可以敏感地檢測到數據是否被篡改。消息摘要算法再結合其他算法就可以用來保護數據的完整性。
散列算法主要應用在一些只需加密而不需解密的場景,如驗證數據的完整性、口令表的加密、數字簽名等。目前常用的散列算法有MD5算法和SHA-1算法等。