game2006api/webapp/services/callback/common/SignatureService.php
aozhiwei d76f140e1b 1
2023-07-14 15:43:16 +08:00

42 lines
1.0 KiB
PHP

<?php
namespace services;
class SignatureService {
const ERRCODE_SIGN = 2001;
public static function web3ServiceCheck()
{
$cbUuid = getReqVal('_cb_uuid', '');
$row = SqlHelper::ormSelectOne(
myself()->_getMarketMysql(),
't_callback',
array(
'cb_uuid' => $cbUuid
)
);
if (!$row) {
myself()-_rspErr(self::ERRCODE_SIGN);
die();
}
$sign = self::normalMd5Sign($_REQUEST, $row['secret_key'], array('_sign'));
if ($sign != $row['signature']) {
myself()-_rspErr(self::ERRCODE_SIGN);
die();
}
}
public static function normalMd5Sign($params, $secretKey, $excludeKeys){
ksort($params);
$paramsStr = '';
foreach($params as $key => $val){
if (!in_array($key, $excludeKeys)) {
$paramsStr = $paramsStr . $key . '=' . $val . $connStr;
}
}
return md5($paramsStr . $$secretKey);
}
}