php生成验证密钥类解决办法

内容摘要
这篇文章主要为大家详细介绍了php生成验证密钥类简单示例,具有一定的参考价值,可以用来参考一下。

对php生成验证密钥类【O2O】简单示例对此感兴趣的朋友,看看idc笔记做的技术
文章正文

这篇文章主要为大家详细介绍了php生成验证密钥类简单示例,具有一定的参考价值,可以用来参考一下。

对php生成验证密钥类【O2O】简单示例对此感兴趣的朋友,看看idc笔记做的技术笔记!

/**
 * 
 * @param 
 * @arrange (www.idcnote.com)
 **/
/**
     * 请求组装验证串
     *
     * @param array $req 请求参数
     * @param string $appsecret 验证秘钥
     */
    static protected function makeSign(&$req, $appsecret)
    {
        ksort($req);
        $arr = array();
        foreach ($req as $key => $val) {
            if ($key == 'sign') continue;
            if ($val === null) {
                $val = "";
                $req[$key] = "";
            }

            if (count($arr))
                $arr[] = ';';

            $arr[] = sprintf("%02d", iconv_strlen($key, 'UTF-8'));
            $arr[] = '-';
            $arr[] = $key;
            $arr[] = ':';

            $arr[] = sprintf("%04d", iconv_strlen($val, 'UTF-8'));
            $arr[] = '-';
            $arr[] = $val;
        }

        $sign = md5(implode('', $arr) . $appsecret);
        $req['sign'] = $sign;
    }

例子:
$req = array(name=>'lengmo',gender=>'male',sign=>'qwert')
ksort($req)
$req = array(gender=>'male',name=>'lengmo',sign=>'qwert')
$arr['06','-','gender',':','0004','-','male',';','04','-','name',':','0006','-','lengmo',';','04','-','sign',':','0005','-','qwert']
md5(06-gender:0004-male;04-name:0006-lengmo;04-sign:0005-qwert.$appsecret)

注:关于php生成验证密钥类简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!