代码拉取完成,页面将自动刷新
<?php
declare (strict_types=1);
namespace magein\pay;
class PaySigner
{
/**
* 解签
* @param array $params
* @return bool
*/
public function verify(array $params): bool
{
if (empty($params)) {
return false;
}
$sign = $params['sign'] ?? '';
if (empty($sign)) {
return false;
}
unset($params['sign']);
if ($sign == self::create($params)) {
return true;
}
return false;
}
/**
* 加签
* @param array $params
* @param string $channel_id
* @return string
*/
public function create(array $params, string $channel_id = ''): string
{
$channel_id = $channel_id ?: ($params['channel_id'] ?? '');
// 获取签名秘钥
if ($channel_id) {
$secret = PayConfig::channelSecret($channel_id) ?? uniqid();
} else {
$secret = uniqid();
}
foreach ($params as $key => $val) {
if (is_numeric($val)) {
continue;
}
if (is_object($val) || is_array($val) || strlen($val) > 10000) {
unset($params[$key]);
}
}
ksort($params);
$plain_text = '';
foreach ($params as $key => $val) {
$plain_text .= $key . $val;
}
return md5(strtolower($secret . $plain_text));
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。