vendor/codeages/biz-order-pay/src/Pay/Payment/SignatureToolkit.php

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace Codeages\Biz\Pay\Payment;

class SignatureToolkit
{
    public function signParams($params, $options)
    {
        $signStr = $this->createLinkString($params);
        switch (trim(strtoupper($params['sign_type']))) {
            case 'MD5':
                $signature = $this->md5Sign($signStr, $options);
                break;
            case 'RSA':
                $signature = $this->rsaSign($signStr, $options);
                break;
            default:
                $signature = '';
                break;
        }

        return $signature;
    }

    public function signVerify($params, $options)
    {
        $isSignVerified = false;
        switch (trim(strtoupper($params['sign_type']))) {
            case 'MD5':
                $isSignVerified = $this->md5Verify($params, $options);
                break;
            case 'RSA':
                $isSignVerified = $this->rsaVerify($params, $options);
                break;
            default:
                break;
        }

        return $isSignVerified;
    }

    private function createLinkString($params)
    {
        ksort($params);
        reset($params);
        $signStr = '';
        foreach ($params as $key => $value) {
            if ($key == 'sign' || empty($value)) {
                continue;
            }

            $signStr .= $key.'='.$value.'&';
        }
        $signStr = substr($signStr, 0, count($signStr) - 2);
        //如果存在转义字符,那么去掉转义
        if (get_magic_quotes_gpc()) {
            $signStr = stripslashes($signStr);
        }

        return $signStr;

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。