This commit is contained in:
2024-04-02 14:52:30 +08:00
parent c5df43ce48
commit ddf8b1d49b

View File

@@ -7,6 +7,7 @@ class YopSignUtils
/**
* 签名生成算法
*
* @param array $params API调用的请求参数集合的关联数组不包含sign参数
* @param array $ignoreParamNames 忽略的参数数组
* @param String $secret 密钥
@@ -19,8 +20,8 @@ class YopSignUtils
$requestparams = $params;
ksort($requestparams);
foreach ($requestparams as $k => $v) {
if (!in_array($k, $ignoreParamNames)) {
if (!($v === null)) {
if (! in_array($k, $ignoreParamNames)) {
if (! ($v === null)) {
$str .= "$k$v";
}
}
@@ -35,6 +36,7 @@ class YopSignUtils
/**
* 签名验证算法
*
* @param array $result API调用的请求参数集合的关联数组不包含sign参数
* @param String $secret 密钥
* @param String $algName 加密算法
@@ -50,7 +52,6 @@ class YopSignUtils
} else {
return false;
}
}
public static function decrypt($source, $private_Key, $public_Key)
@@ -73,6 +74,7 @@ class YopSignUtils
$encryptedDataToBase64 = $args[1];
$symmetricEncryptAlg = $args[2];
$digestAlg = $args[3];
//用私钥对随机密钥进行解密
openssl_private_decrypt(Base64Url::decode($encryptedRandomKeyToBase64), $randomKey, $privateKey);
openssl_free_key($privateKey);
@@ -87,6 +89,7 @@ class YopSignUtils
$publicKey = openssl_pkey_get_public($public_key);
$res = openssl_verify($sourceData, Base64Url::decode($signToBase64), $publicKey, $digestAlg); //验证
openssl_free_key($publicKey);
if ($res == 1) {
return $sourceData;
} else {
@@ -121,7 +124,6 @@ class YopSignUtils
$prikeyid = preg_replace("/(\r\n|\n|\r|\t)/i", '', $prikeyid);
return $prikeyid;
}
}