Java安全(JCA(Java Cryptography Architecture)/JSSE(Java Secure Socket Extension)):基本知识

对称加密与非对称加密

对称加密称为密钥加密,速度快,但加密和解密的钥匙必须相同,只有通信双方才能知道钥匙

非对称加密称为公钥加密,速度慢,加密和解密的钥匙不相同,某一个人持有私钥,任何人都可以知道公钥

 数字摘要与MD5/SHA算法

作用:数据的完整性校验

数字签名

功能:必须能够验证内容没有修改,必须能够验证内容确实是被发送方签署

方案:发送方的公钥可以验证发送方签名的真实性,数字摘要可以验证内容没有修改

数字证书

问题:如何确认对方提供的公钥的真实性?  方案:每个人或机构的公钥和私钥由一些权威的机构产生。

 

非对称加密可以这样理解:你想和我通信,你又想和其他很多人通信,如果使用对称加密,那就不知道需要产生多少对密钥;而如果使用非对称加密方式,通信的机制为:你发布一个公钥你自己持有密钥,任何人想和你通信都使用公钥加密,而你使用密钥解密,你使用密钥加密发送,其他人使用公钥解密。我们发送给你的数据使用公钥加密了,别人即使拿到这个数据,因为没有密钥,所以也无法解密。所以这种方式传送数据的时候,持有公钥的一方才会传送机密数据。适合一对多的加密。

 

https://docs.oracle.com/javase/8/docs/api/index.html

https://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html

https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值