数字摘要也成为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它由一个单项Hash函数对消息进行计算而产出。如果消息在传输的过程改变,接收者通过对接收到消息采用相同的Hash重新计算,新产生的摘要与原摘要进行比较,就可知道消息是否被篡改,因此消息摘要能够验证消息的完整性。消息摘要采用单向的Hash函数,将需要计算的内容“摘要”成固定长度的串,这个串也称为数字指纹。
摘要特点:
1、无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如,应用MD5算法计算的摘要消息有128个比特位,而是用SHA-1算法计算出来的摘要有160个比特位。
2、一般只要输入的消息不同,对其进行摘要以后产生的摘要消息也不同,但相同的输入必会产生相同的输出。这是一个好的消息摘要算法所需要具备的性质:输入改变了,输出也改变了,两条相似的消息摘要却大相径庭。好的摘要算法很难找到“碰撞”,虽然碰撞肯定是存在的。
3、由于消息摘要并不包含原文完整信息,因此只能进行正向的信息摘要,而无法从摘要中恢复除原来的消息,甚至根本找不到任何与原信息相关的信息。
常见的数字摘要算法:
MD5、SHA、Base64编码等。