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