vendor/codeages/omnipay-alipay/src/Common/Signer.php

(开头部分) 1KB

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

<?php

namespace Omnipay\Alipay\Common;

use Exception;
/**
 * Sign Tool for Alipay
 * Class Signer
 * @package Omnipay\Alipay\Common
 */
class Signer
{
    const ENCODE_POLICY_QUERY = 'QUERY';
    const ENCODE_POLICY_JSON = 'JSON';
    const KEY_TYPE_PUBLIC = 1;
    const KEY_TYPE_PRIVATE = 2;
    protected $ignores = array('sign', 'sign_type');
    protected $sort = true;
    protected $encodePolicy = self::ENCODE_POLICY_QUERY;
    /**
     * @var array
     */
    private $params;
    public function __construct(array $params = array())
    {
        $this->params = $params;
    }
    public function signWithMD5($key)
    {
        $content = $this->getContentToSign();
        return md5($content . $key);
    }
    public function getContentToSign()
    {
        $params = $this->getParamsToSign();
        if ($this->encodePolicy == self::ENCODE_POLICY_QUERY) {
            return urldecode(http_build_query($params));
        } elseif ($this->encodePolicy == self::ENCODE_POLICY_JSON) {
            return json_encode($params);
        } else {
            return null;
        }
    }
    /**
     * @return mixed
     */
    public function getParamsToSign()
    {
        $params = $this->params;
        $this->unsetKeys($params);
        $params = $this->filter($params);
        if ($this->sort) {
            $this->sort($params);
        }
        return $params;
    }
    /**
     * @param $params
     */
    protected function unsetKeys(&$params)

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

AI 解读 AI

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

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