php 签名算法,用于数据之间的加密


    /**
     * 签名生成算法
     * @param  array  $params API调用的请求参数集合的关联数组,不包含sign参数
     * @param  string $secret 签名的密钥即获取access token时返回的session secret
     * @return string 返回参数签名值
     */
    private function getSignature($params) {
        $secret = $this->secretKey;

        $str = '';  //待签名字符串
        //先将参数以其参数名的字典序升序进行排序
        ksort($params);
        //遍历排序后的参数数组中的每一个key/value对
        foreach ($params as $k => $v) {
            //为key/value对生成一个key=value格式的字符串,并拼接到待签名字符串后面
            $str .= $k . $v;
        }
        //将签名密钥拼接到签名字符串最后面
        $str .= $secret;
        //通过md5算法为签名字符串生成一个md5签名,该签名就是我们要追加的sign参数值
        return md5($str);
    }

其中 s e c r e t = this->secretKey; 可以是两个程序约定好了的加密的字符

猜你喜欢

转载自blog.csdn.net/qq_22823581/article/details/81777137