消息摘要是数据信息的数字指纹。通过某种安全散列算法(如SHA1)对数据信息进行加密,就可以生成一个20字节(MD5算法好像是16字节)的序列,这个序列就称为消息摘要。
从安全的角度考虑,我们总是希望任何不同的数据信息都生成不同的消息摘要,但这是不可能的,就拿SHA1算法来说,消息摘要是一个20字节的序列,也就是160位的长度,一共也只有2的160次方种可能。但这已经是一个巨大的数字了,我们可以相信两个不同的数据信息总是生成不同的消息摘要。
所以,消息摘要具有以下两个特点:
消息摘要在网络中怎样起到安全的作用呢?假设你要发送下面一段数据信息给你的朋友:
你可以先生成这段数据信息的消息摘要,上面的信息用SHA1算法加密后就复到下面的消息摘要:
之后你就可以把数据和摘要分别发送给你的朋友,然后你朋友也对数据信息进行加密,并把加密生成的摘要与你发送给他的进行对比,如果一样的,那么你朋友就可以确定数据信息在传输过程中没有被别人修改过。
当然,仅仅是靠消息摘要,还无法解决所有的安全问题,比如数据和摘要在传输过程中同时被别人窃取了,你的朋友无法保正数据是不是真的来自于你,等等。后面的文章,我
从安全的角度考虑,我们总是希望任何不同的数据信息都生成不同的消息摘要,但这是不可能的,就拿SHA1算法来说,消息摘要是一个20字节的序列,也就是160位的长度,一共也只有2的160次方种可能。但这已经是一个巨大的数字了,我们可以相信两个不同的数据信息总是生成不同的消息摘要。
所以,消息摘要具有以下两个特点:
- 如果数据信息改变了,那么消息也将根着改变;
- 伪造者无法创建与原数据信息具有相同消息摘要的假数据信息。
消息摘要在网络中怎样起到安全的作用呢?假设你要发送下面一段数据信息给你的朋友:
晚上一起吃饭
你可以先生成这段数据信息的消息摘要,上面的信息用SHA1算法加密后就复到下面的消息摘要:
fa00078d5bd477e6d397dd5f7f11166a
之后你就可以把数据和摘要分别发送给你的朋友,然后你朋友也对数据信息进行加密,并把加密生成的摘要与你发送给他的进行对比,如果一样的,那么你朋友就可以确定数据信息在传输过程中没有被别人修改过。
当然,仅仅是靠消息摘要,还无法解决所有的安全问题,比如数据和摘要在传输过程中同时被别人窃取了,你的朋友无法保正数据是不是真的来自于你,等等。后面的文章,我