php生成验证密钥类解决办法
内容摘要
这篇文章主要为大家详细介绍了php生成验证密钥类简单示例,具有一定的参考价值,可以用来参考一下。
对php生成验证密钥类【O2O】简单示例对此感兴趣的朋友,看看idc笔记做的技术
对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生成验证密钥类简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释