防篡改,顾名思义就是防止有人恶意篡改请求数据URL以达到恶意攻击的目的,那要怎么才能实现这样的目的呢?
很简单,将要请求的数据加上合作号、合作Key按规则组织成一个字符串,获取对应的MD5摘要,然后将该摘要及合作号同时作为请求的一部分一起传递(合作Key禁止传递)
举个简单的例子:
加入我们需要进行签名的Json参数如下:
{"user_name":"admin","pwd":"123"},
那么我们可以按顺序把数据字符串的形式加上合作号的Key值,加入合作号的Key为aaa,那么我们需要签名的字符串如下:
user_name=admin&pwd=123aaa,
那么我们请求的数据格式就如下:
?user_name=admin&pwd=123&sign=7f3d11ccd4af00ab36e552c8b54f5bf1
那么我们可以写如下的帮助方法: