在我们正常的业务中,第三方对接总能遇到。那么,如何判定是对方,又不影响使用,维护起来还方便呢。
以前经常使用token+redis有效期的方式进行验证(因为需要和移动端对接,登录验证),但是这种方式在一些单纯的不要登录的接口对接中维护起来太复杂繁琐。
这里就需要一种比较简单又可行的签名方式验证了,当然,只要你的签名规则不要泄露就没问题啦,上代码吧
public static function sign($sign, $params, $secretKey) { ksort($params); $arr = array_merge([ 'secretKey' => $secretKey, ], $params); $_sign = md5(json_encode($arr)); if ($_sign != $sign) { return false; } return true; }
note:$secretKey密钥很重要,双方的相同只要一方丢失就不好了。
网上看到了很多人写的,有的规则很简单,我这里添加了一些其他的规则方式,其实也都一样。