对称加密与非对称加密
对称加密:源数据->(秘钥加密)->密文-(秘钥解密)->源数据 经典算法:AES DES
非对称加密在项目的使用: 加密(签名) 1. 对请求参数(一般是Map)先转换成List进行一次排序,规则是a-z,排序后进行请求参数的拼接,这里拼接的参数包括公共参数和请求参数 2. 对拼接后的字符串使用MD5进行不可逆变换也成为MD5加密算法,将得到的md5再一次使用RSA签名(SHA1WithRSA)(私钥)然后在Base64.encode编码算法转换一下,最后通过String(data)返回signStr 3.将返回的signStr添加到原有的请求Map中末尾,进行请求提交
解密(验签)
1. 服务器返回的数据一般是String类型的 我们先将数据转换为Map,然后将Map中的signcontent移除并保存signcontent 、这个signcontent是服务器通过服务器的私钥然后通过相应的加密算法等对数据结果进行而产生的密文
2. 然后对移除sign的Map进行排序,然后Md5加密,将得到一个摘要密文,然后将摘要进行rsa---x509加密
3. 将sign和新的密文通过RAS验证 如果相同代表数据验证成功 数据安全