src/Common/Ali/AliBaseStrategy.php
protected function verifySign(array $data, $sign)
    {
        $preStr = \GuzzleHttp\json_encode($data, JSON_UNESCAPED_UNICODE);// 主要是为了解决中文问题

        if ($this->config->signType === 'RSA') {// 使用RSA
            $rsa = new RsaEncrypt($this->config->rsaAliPubKey);

            return $rsa->rsaVerify($preStr, $sign);
        } elseif ($this->config->signType === 'RSA2') {// 使用rsa2方式
            $rsa = new Rsa2Encrypt($this->config->rsaAliPubKey);

            return $rsa->rsaVerify($preStr, $sign);
        } else {
            return false;
        }
    }
protected function verifySign(array $data, $sign)
    {
        $preStr = \GuzzleHttp\json_encode($data, JSON_UNESCAPED_UNICODE);// 主要是为了解决中文问题

        if ($this->config->signType === 'RSA') {// 使用RSA
            $rsa = new RsaEncrypt($this->config->rsaAliPubKey);

            return $rsa->rsaVerify($preStr, $sign);
        } elseif ($this->config->signType === 'RSA2') {// 使用rsa2方式
            $rsa = new Rsa2Encrypt($this->config->rsaAliPubKey);

            return $rsa->rsaVerify($preStr, $sign);
        } else {
            return false;
        }
    }
protected function verifySign ( array $ data , $ sign ) { $ preStr = \ GuzzleHttp \ json_encode ( $ data , JSON_UNESCAPED_UNICODE ) ; // 主要是为了解决中文问题 if ( $ this -> config -> signType === 'RSA' ) { // 使用RSA $ rsa = new RsaEncrypt ( $ this -> config -> rsaAliPubKey ) ; return $ rsa -> rsaVerify ( $ preStr , $ sign ) ; } elseif ( $ this -> config -> signType === 'RSA2' ) { // 使用rsa2方式 $ rsa = new Rsa2Encrypt ( $ this -> config -> rsaAliPubKey ) ; return $ rsa -> rsaVerify ( $ preStr , $ sign ) ; } else { return false ; } }
检查支付宝数据 签名是否被篡改
@param array $data
@param string $sign  支付宝返回的签名结果
@return bool
@author helei
检查支付宝数据 签名是否被篡改