一、 参数
private static String url = “http://xxx.xxx.com/gateway”;
private static String appId = “test”;
private static String appKey = “3336AFF98D5D004BC478DC419EA9AA7B”;
二、加密方式
1. 哈希算法型(单向不可逆)
signKey=md5(appId, appKey, datestamp)
signKey=sha256(appId, appKey, datestamp)
特点
- 签名和验证签名方使用相同的计算方式
- 因为不能解密,所以不能把参数直接加密
2. 对称加密型
密文=AES加密(appId, appKey, datestamp, 明文)
明文=AES解密(appId, appKey, datestamp, 密文)
特点
- 能把参数直接加密解密
- 加解密使用相同的密钥,密钥有泄漏风险
3. 非对称加密型(公钥+私钥)
密文=(公钥, ‘RSA2’, 短明文)
明文=(私钥, ‘RSA2’, 密文)
公钥加密
私钥解密
私钥签名
公钥验签
特点
- 加密使用公钥,解密使用私钥
- 长字符串加密效率不高,有长度限制
- 常用组合:RSA传递密钥+AES加解密
三、安全加固
- 设置IP白名单
- 增加自定义的加密规则