Esempio n. 1
0
 /**
  * 生成签名结果
  * @param array $para_sort 已排序要签名的数组
  * return string 签名结果字符串
  */
 public function buildRequestMysign($para_sort)
 {
     //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串
     $coreModel = new AliPayCore();
     $prestr = $coreModel->createLinkstring($para_sort);
     switch ($this->alipay_config['sign_type']) {
         case "RSA":
             $rsaModel = new AliPayRsa();
             $mysign = $rsaModel->rsaSign($prestr, $this->alipay_config['private_key_path']);
             break;
         case "MD5":
             $md5Model = new AliPayMD5();
             $mysign = $md5Model->md5Sign($prestr, $this->alipay_config['key']);
             break;
         default:
             $mysign = "";
     }
     return $mysign;
 }
Esempio n. 2
0
 /**
  * 获取返回时的签名验证结果
  * @param array $para_temp 通知返回来的参数数组
  * @param string $sign 返回的签名结果
  * @return boolean 签名验证结果
  */
 public function getSignVeryfy($para_temp, $sign)
 {
     $coreModel = new AliPayCore();
     //除去待签名参数数组中的空值和签名参数
     $para_filter = $coreModel->paraFilter($para_temp);
     //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串
     $prestr = $coreModel->createLinkstring($para_filter);
     switch ($this->alipay_config['sign_type']) {
         case "RSA":
             $rsaModel = new AliPayRsa();
             $isSgin = $rsaModel->rsaVerify($prestr, $this->alipay_config['ali_public_key_path'], $sign);
             break;
         case "MD5":
             $md5Model = new AliPayMD5();
             $isSgin = $md5Model->md5Verify($prestr, $sign, $this->alipay_config['key']);
             break;
         default:
             $isSgin = false;
     }
     return $isSgin;
 }