随手写个签名验证

随手写个签名验证 之前的项目好像写过类似的,不过很久了,忘记是不是这样的了,类似于微信的那种签名

<?php
$data=$_GET;
var_dump(auth_my_sign($data));
function auth_my_sign($data)
{
    $sign=isset($data['sign'])?$data['sign']:"";
    $string=create_my_sign($data);
    return $string===$sign;
}

function create_my_sign($data)
{
    unset($data['sign']);
    ksort($data);
    $string="";
    foreach ($data as $key => $value)
    {
        $string.="$key=$value&";
    }
    $string=trim($string,"&");
    $string=sha1($string);
    return $string;
}
?>

代码效果如下

三个步骤

1.拿出sign 去掉sign参与排序

2.键值排序,参数规则拼接

3.去掉两边& 进行sha1加密

然后签名比对一下即可

posted @ 2017-08-28 17:37  李照耀  阅读(239)  评论(0编辑  收藏  举报