接口传输中如果全部是明文的话,很容易被人家模拟,那么就产生了sign的传输
我介绍的加密主要采用:
1.对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序),并且生成url参数串
2.然后使用md5加密刚才拼接的字符串,字符串后面再拼上key
3.使用AES加密md5的签名后的数据,AESkey也使用上面的key
首先需要将传入的数据非空的转换成map
1 | /** |
ASCII 码从小到大排序(字典序),并且生成url参数串
1 | /** |
拼接key在上面排序后产生的字符串最后
String ready = formatUrlMap()+key
md5签名
md5(ready)
DES加密md5字符串
DES KEY使用上面的 一般一个用户一个key的
DES(MD5)
可以使用Hutool的工具类:
DES des = SecureUtil.des(“String”.getBytes());