签名工具类SignUtil:
public class SignUtil {/*** 签名计算* @param method* @param url* @param body* @param timestamp* @param nonce* @param appSecret* @return*/public static String getSignature(String method, String url, String body, String timestamp, String nonce, String appSecret){//第一层签名String requestStr1 = method + url + body + appSecret;String signResult1 = DigestUtils.md5Hex(requestStr1);//第二层签名String requestStr2 = appSecret + timestamp + nonce + signResult1;String signResult2 = DigestUtils.md5Hex(requestStr2);return signResult2;}}
签名计算,可以换成hamc方式进行计算,思路大致一样 。
三、小结上面介绍的token和接口签名方案,对外都可以对提供的接口起到保护作用,防止别人篡改请求,或者模拟请求 。
但是缺少对数据自身的安全保护,即请求的参数和返回的数据都是有可能被别人拦截获取的,而这些数据又是明文的,所以只要被拦截,就能获得相应的业务数据 。
对于这种情况,推荐大家对请求参数和返回参数进行加密处理,例如RSA、AES等加密工具 。
同时,在生产环境,采用https方式进行传输,可以起到很好的安全保护作用!
推荐阅读
- SpringBoot 如何使用同步锁
- 如何写出自己第一篇10万+文章?
- |职场中如何学会说话?什么是会说话,学会这么说话让才能别人爱听
- 领导力|身为职场女性,如何改掉职场坏习惯?
- 如何选购玻璃砖
- 如何瘦腰瑜伽
- 男子健身如何计划比较好?
- 如何成为一名优秀的室内设计师
- 如何洗羽绒被是正确的羽绒被日常清洁方法
- 橡皮树放阳台的风水如何?