美文网首页
vivo小游戏 PHP签名算法生成与检验

vivo小游戏 PHP签名算法生成与检验

作者: 码农工号9527 | 来源:发表于2021-08-24 10:30 被阅读0次
通过登录token获取用户信息
    /**
     * 登陆签名生成
     * @param $query_params
     * @param $app_key
     * @param $app_secret
     * @return string
     */
    private function loginSign($query_params, $app_key, $app_secret) :string
    {
        $query_params['appKey'] = $app_key;
        $query_params['appSecret'] = $app_secret;
        ksort($query_params);
        $query_arr = [];
        foreach ($query_params as $k => $v) $query_arr[] = "$k=$v";
        $query_str = implode('&', $query_arr);
        return hash("sha256", $query_str);
    }

下单

    /**
     * 下单签名生成
     * (1)被签名字符串中的关键信息需要按照key值做升序排列(a-z升序排序);
     * (2)空值(空字符串或null值)不参与签名运算;
     * (3)将被签名字符串转成字节数组时必须指定编码为utf-8。
     * @param $query_params
     * @param $app_secret
     * @return string
     */
    private function placeOrderSign($query_params, $app_secret_pay) :string
    {
        ksort($query_params);
        $query_arr = [];
        foreach( $query_params as $k => $v ) {
            if(empty($v)) continue;
            $query_arr[] = "$k=$v";
        }
        $query_str = implode('&', $query_arr) . '&'. strtolower(md5($app_secret_pay));
        return strtolower(md5($query_str));
    }

支付回调

    /**
     * 支付回调
     * @param $query_params
     * @param $app_key
     * @return string
     */
    private function payCallBackSign($query_params, $app_secret_pay) :string
    {
        ksort($query_params);
        $query_arr = [];
        foreach ($query_params as $k => $v) {
            if (empty($v) || $k == 'signMethod' || $k == 'signature') continue;
            $query_arr[] = $k . "=" . $v;
        }
        $query_str = implode('&', $query_arr) . '&'. strtolower(md5($app_secret_pay));
        return strtolower(md5($query_str));
    }

相关文章

网友评论

      本文标题:vivo小游戏 PHP签名算法生成与检验

      本文链接:https://www.haomeiwen.com/subject/hkcdiltx.html