1、对称加密。
双方使用相同的秘钥进行加密解密。
例如:des算法、aes算法(des的高级版本)
2、非对称加密
双方都有自己的一套公私秘钥。使用公钥加密,对方使用私钥解密。
例如:rsa算法,可使用java.security中相关函数产生公私密钥进行加密和解密。
rsa算法说明:
(1)公私密钥成对存在,私钥可以推算出公钥,公钥不能推算出私钥。
(2)使用私钥加密的内容,只能通过公钥来解密;使用公钥加密的内容,只能通过私钥来解密。
(3)公钥加密,私钥解密使用场景:一般的接口加密请求。
(4)私钥加密,公钥解密使用场景:验证签名。
3、哈希算法
哈希算法常用于数字签名,没有私钥。数字签名用于校验报文是否被篡改。
例如:md5、sha1、sha256。可配合rsa联合使用在数字签名中,先加密再签名(使用哈希算法)。
项目经历:
1、在监管平台项目中
(1)发送报文使用rsa、aes加密报文。
(2)返回报文使用md5做数字签名</