mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-19 04:23:55 +00:00
31 lines
810 B
PHP
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;
|
|
}
|
|
}
|
|
|
|
?>
|