[PHP] 生成验证密钥类【O2O】 →→→→→进入此内容的聊天室

来自 , 2019-07-14, 写在 PHP, 查看 118 次.
URL http://www.code666.cn/view/82b0639a
  1. /**
  2.      * 请求组装验证串
  3.      *
  4.      * @param array $req 请求参数
  5.      * @param string $appsecret 验证秘钥
  6.      */
  7.     static protected function makeSign(&$req, $appsecret)
  8.     {
  9.         ksort($req);
  10.         $arr = array();
  11.         foreach ($req as $key => $val) {
  12.             if ($key == 'sign') continue;
  13.             if ($val === null) {
  14.                 $val = "";
  15.                 $req[$key] = "";
  16.             }
  17.  
  18.             if (count($arr))
  19.                 $arr[] = ';';
  20.  
  21.             $arr[] = sprintf("%02d", iconv_strlen($key, 'UTF-8'));
  22.             $arr[] = '-';
  23.             $arr[] = $key;
  24.             $arr[] = ':';
  25.  
  26.             $arr[] = sprintf("%04d", iconv_strlen($val, 'UTF-8'));
  27.             $arr[] = '-';
  28.             $arr[] = $val;
  29.         }
  30.  
  31.         $sign = md5(implode('', $arr) . $appsecret);
  32.         $req['sign'] = $sign;
  33.     }
  34.  
  35. 例子:
  36. $req = array(name=>'lengmo',gender=>'male',sign=>'qwert')
  37. ksort($req)
  38. $req = array(gender=>'male',name=>'lengmo',sign=>'qwert')
  39. $arr['06','-','gender',':','0004','-','male',';','04','-','name',':','0006','-','lengmo',';','04','-','sign',':','0005','-','qwert']
  40. md5(06-gender:0004-male;04-name:0006-lengmo;04-sign:0005-qwert.$appsecret)

回复 "生成验证密钥类【O2O】"

这儿你可以回复上面这条便签

captcha