对称加密与非对称加密
对称加密称为密钥加密,速度快,但加密和解密的钥匙必须相同,只有通信双方才能知道钥匙
非对称加密称为公钥加密,速度慢,加密和解密的钥匙不相同,某一个人持有私钥,任何人都可以知道公钥
数字摘要与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