关注公众号:青山有路

php SHA256转十六进制签名方法

php admin 2年前 (2022-11-01) 1422次浏览 已收录 扫描二维码
function pos_MakeSign($array, $key)
{
    // 签名步骤一:按字典序排序参数
    ksort($array);
    $string = pos_ToUrlParams($array);
    // 签名步骤二:在string后加入KEY
    $string = $string . “&” . $key;
    // 签名步骤三:SHA256加密 true 是转成二进制 然后再转成16进制
    $string = bin2hex(hash(‘sha256’, $string, true));
    // 签名步骤四:所有字符转为大写
    $result = strtoupper($string);
    return $result;
}
function pos_ToUrlParams($arr)
{
    $buff = “”;
    foreach ($arr as $k => $v) {
        if ($k != “sign” && $v != “” && ! is_array($v)) {
            $buff .= $k . “=” . $v . “&”;
        }
    }
    $buff = trim($buff, “&”);
    echo $buff;
    return $buff;
}

版权所有丨如未注明 , 均为原创 , 转载请注明php SHA256转十六进制签名方法
喜欢 (10)