Files
exchange-2.0/app/Classes/General/Open1688/SignatureUtil.php
T
2024-01-25 16:52:06 +08:00

31 lines
810 B
PHP

<?php
namespace App\Classes\General\Open1688;
class SignatureUtil {
/**
*
* @param $path
* @param array $parameters
* @param RequestPolicy $requestPolicy
* @param ClientPolicy $clientPolicy
* @return string
*/
public static function signature($path, array $parameters) {
$paramsToSign = array ();
foreach ( $parameters as $k => $v ) {
$paramToSign = $k . $v;
Array_push ( $paramsToSign, $paramToSign );
}
sort ( $paramsToSign );
$implodeParams = implode ( $paramsToSign );
$pathAndParams = $path . $implodeParams;
$sign = hash_hmac ( "sha1", $pathAndParams, config('open1688.app_secret'), true );
$signHexWithLowcase = bin2hex ( $sign );
$signHexUppercase = strtoupper ( $signHexWithLowcase );
return $signHexUppercase;
}
}
?>