php 签名验证方法

$a1=array("red","green","blue","yellow");
$a2=array("red","green","blue1");

/**
 * Array
(
[data] => Array
(
[0] => red
[1] => green
[2] => blue
[3] => yellow
)

[sign] => 2308BCF74D35E6A0A2AAE25ADD85EE51
)

 */
$res = createKSortSign($a1,"12qwe");
print_r($res);

/**
 * 生成签名sign
 *
 * @param $data
 * @param $secret_key
 *
 * @return array
 */
function createKSortSign($data, $secret_key)
{
    ksort($data);
    $signData = array();
    foreach ($data as $k => $v) {
        if (!empty($v)) {
            if (is_array($v)) {
                $signData[$k] = json_encode($v);
            } else {
                $signData[$k] = $v;
            }
        }
    }
    $signData['key'] = $secret_key;
    $sign            = urldecode(http_build_query($signData));
    $sign            = strtoupper(md5($sign));
    unset($signData['key']);
    return [
        'data' => $signData,
        'sign' => $sign
    ];
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值