Java 加密篇之算法总结

encryption_algorithm

单向加密

单向加密又称为不可逆加密算法,其密钥是由加密散列函数生成的。单向散列函数一般用于产生消息摘要,密钥加密等。

例如下图摘要由 SHA-1 生成。SHA1 摘要长度为 20 Bytes (160 bit),一般用 40 位十六进制数表示(1 Byte = 8 bit,4 bit (2^4) = 1 位十六进制数,因此 160 bit / 4 = 40 位十六进制数表):

digest

对称加密

在这里插入图片描述

数字签名

数字签名作为维护数据信息安全的重要方法之一,可以解决伪造、抵赖、冒充和篡改等问题。其主要作用体现在以下几个方面:

  • 防冒充(身份认证)。在数字签名中,当使用私钥签名时,如果接收方或验证方用其公钥进行验证并获通过,那么可以肯定,签名人就是拥有私钥的那个人,因为私钥只有签名人拥有,其他人不可能冒充签名者。
  • 防伪造。其他人不能伪造对数据的签名,因为私钥只有签名者自己拥有,所以其他人不可能构造出正确的签名结果数据。
  • 防篡改。私钥加签后的摘要和数据一起发送给接收者,一旦信息被篡改,接收者可通过计算摘要和验证签名来判断该文件无效,从而保证了文件的完整性。
  • 防抵赖。数字签名既可以作为身份认证的依据,也可以作为签名者签名操作的证据。要防止接收者抵赖,可以在数字签名系统中要求接收者返回一个自己签名的表示收到的报文,给发送者或受信任第三方。如果接收者不返回任何消息,此次通信可终止或重新开始,签名方也没有任何损失,由此双方均不可抵赖。
  • 保密性。手写签字的文件一旦丢失,文件信息就极可能泄露。但在网络传输中,数字签名的公钥可以用于加密报文,以保证信息机密性。

非对称加密

公钥加密,私钥解密

asymmetric_encryption

签名验签

私钥签名,公钥验签

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dylan、

耕码不易,白嫖可耻

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值