Java网络安全(一)

本文探讨了Java网络安全中常用的MD5和SHA1加密算法,解释了它们如何确保数据的完整性和防伪造,是保护信息安全的重要手段。
摘要由CSDN通过智能技术生成
消息摘要是数据信息的数字指纹。通过某种安全散列算法(如SHA1)对数据信息进行加密,就可以生成一个20字节(MD5算法好像是16字节)的序列,这个序列就称为消息摘要。

  从安全的角度考虑,我们总是希望任何不同的数据信息都生成不同的消息摘要,但这是不可能的,就拿SHA1算法来说,消息摘要是一个20字节的序列,也就是160位的长度,一共也只有2的160次方种可能。但这已经是一个巨大的数字了,我们可以相信两个不同的数据信息总是生成不同的消息摘要。

  所以,消息摘要具有以下两个特点:
  • 如果数据信息改变了,那么消息也将根着改变;
  • 伪造者无法创建与原数据信息具有相同消息摘要的假数据信息。

  消息摘要在网络中怎样起到安全的作用呢?假设你要发送下面一段数据信息给你的朋友:
晚上一起吃饭

  你可以先生成这段数据信息的消息摘要,上面的信息用SHA1算法加密后就复到下面的消息摘要:
fa00078d5bd477e6d397dd5f7f11166a

  之后你就可以把数据和摘要分别发送给你的朋友,然后你朋友也对数据信息进行加密,并把加密生成的摘要与你发送给他的进行对比,如果一样的,那么你朋友就可以确定数据信息在传输过程中没有被别人修改过。

  当然,仅仅是靠消息摘要,还无法解决所有的安全问题,比如数据和摘要在传输过程中同时被别人窃取了,你的朋友无法保正数据是不是真的来自于你,等等。后面的文章,我
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值