<?php
class Base
{
const KEY = 'key123456'; // 商户密钥
// 生成签名
public function getSign($arr) {
// 去除空值
$arr = array_filter($arr);
if (isset($arr['sign'])) {
unset($arr['sign']);
}
// 按照键名字典排序
ksort($arr);
// 生成url格式字符串
$str = $this->arrToUrl($arr);
$str .= '&key=' . self::KEY;
return strtoupper(md5($str));
}
// 数组转url格式
public function arrToUrl($arr) {
return urldecode(http_build_query($arr));
}
// 获取带签名的数组
public function setSign($arr) {
$arr['sign'] = $this->getSign($arr);
return $arr;
}
// 验证签名
public function checkSign($arr) {
$sign = $arr['sign'] ?? '';
$mySign = $this->getSign($arr);
if ($sign == $mySign) {
return true;
} else {
return false;
}
}
}
08-08
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交