springboot~关于md5签名引发的问题|世界球精选
(资料图片)
事实是这样的,我有个接口,这个接口不能被篡改,于是想到了比较简单的md5对url地址参数进行加密,把这个密码当成是sign,然后服务端收到请求后,使用相同算法也生成sign,两个sign相同就正常没有被篡改过。
问题的出现
- 接口中的参数包括userId,extUserId,时间,其中extUserId字符编码,中间会有+这种符号
- 有些用户使用签名接口正常
- 有一些用户总显示签名失败
问题原因
- 因为有些用户的extUserId中包括了url上的特殊字符,它不能正常在在url上传输,必须进行urlEncode编码才行,这一点非常容易被忽略;程序中一般不需要手动urlDecode解码,都是由框架帮我们实现的。
- 下面整理了一些url上需要编码的字符:
+URL中+表示空格 十六进制: %2B/分离目录和子目录 十六进制 : %2F?分离实际的URL和参数 十六进制: %3F%特殊字符 十六进制: %25#表示书签 十六进制: %23&URL中指定参数间的分隔符 十六进制: %26=URL中指定参数的值 十六进制:%3D空格URL中的空格可以用+号或者编码 十六进制 : %20
url在签名时一般这样处理
sign=md5(userId+extUserId+simpleDateFormat.format(new Date()) + SECRET).toUpperCase();?extUserId=URL.Encode(extUserId)&sign=sign注意:sign中是接收的参数,它不需要Encode,应该框架已经帮我们做了;而向下传递的url参数extUserId是需要手动Encode的。
下一篇:最后一页
-
springboot~关于md5签名引发的问题|世界球精选事实是这样的,我有个接口,这个接口不能被篡改,于是想到了比较简单的md5对url地址参数进行加密,把这个密 -
k金是什么金_看完你就清楚了_滚动欢迎观看本篇文章,小勉来为大家解答以上问题。k金是什么金,看完你就清楚了很多人还不知道,现在让我们一 -
看点:生态环境部:1-3月全国地表水水质优良断面比例为89.1%南方网讯据生态环境部官方微博消息,生态环境部23日公布2023年1—3月全国地表水环境质量状况。1-3月,全国 -
第七届“武汉淘书节”开幕第七届“武汉淘书节”开幕---湖北日报讯(记者李先宏、通讯员李雅欣)4月23日,第七届“武汉淘书节”在华中 -
电脑qq相册照片批量导出 qq相册照片批量导出-环球时讯今天来聊聊关于电脑qq相册照片批量导出,qq相册照片批量导出的文章,现在就为大家来简单介绍下电脑qq相册照
X 关闭
资讯
X 关闭
聚焦
