怎么用PHP实现以下内容
sign的生成规则:sign=HMAC-SHA512(param1+value1+param2+value2+secret)
所有参数的param按字母升序排列,为避免排序问题,param只能使用字母及"",并且""的排序在“z”之前,“”的排 序""在“”之前,生成sign时,需先按param排序后,按上述方法加密,同时替换掉所有空格。
例子:
symbol:tchbtc
order_id:163560
time:1532859225860
secret:OTQxYzQ3NTYxOWJkNzFkNmFhNDcyMjYxZmJmZDE4ZTU3ZDMyNzVhYWE5MjFmNzU5ZWZhNWRjN2Y2YeMyMmFiMw==
这些参数会被排序为:
order_id:163560
symbol:tchbtc
time:1532859225860
secret:OTQxYzQ3NTYxOWJkNzFkNmFhNDcyMjYxZmJmZDE4ZTU3ZDMyNzVhYWE5MjFmNzU5ZWZhNWRjN2Y2YeMyMmFiMw==
按照以上顺序,将各参数连接组成最终的要进行签名计算的字符串如下:
order_id163560symboltchbtctime1532860279292OTQxYzQ3NTYxOWJkNzFkNmFhNDcyMjYxZmJmZDE4ZTU3ZDMyNzVhYWE5MjFmNzU5ZWZhNWRjN2Y2YeMyMmFiMw==
$secret="OTQxYzQ3NTYxOWJkNzFkNmFhNDcyMjYxZmJmZDE4ZTU3ZDMyNzVhYWE5MjFmNzU5ZWZhNWRjN2Y2YeMyMmFiMw==";
$array=[
'symbol'=>'tchbtc',
'order_id'=>'163560',
'time'=>'1532859225860'
];
ksort($array);
$str='';
foreach($array as $key=>$v){
$str.=$key.$v;
}
echo $str.$secret;