/**
  * 生成签名结果
  * @param $para_sort 已排序要签名的数组
  * return 签名结果字符串
  */
 function buildRequestMysign($para_sort)
 {
     //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串
     $prestr = \Library\pay\direct_pay\lib\AlipayCore::createLinkstring($para_sort);
     $mysign = "";
     switch (strtoupper(trim($this->alipay_config['sign_type']))) {
         case "MD5":
             $mysign = \Library\pay\direct_pay\lib\AlipayMd5::md5Sign($prestr, $this->alipay_config['key']);
             break;
         case "RSA":
             $mysign = AlipayRsa::rsaSign($prestr, $this->alipay_config['private_key_path']);
             break;
         case "0001":
             $mysign = AlipayRsa::rsaSign($prestr, $this->alipay_config['private_key_path']);
             break;
         default:
             $mysign = "";
     }
     return $mysign;
 }
 /**
  * 获取返回时的签名验证结果
  * @param $para_temp 通知返回来的参数数组
  * @param $sign 返回的签名结果
  * @param $isSort 是否对待签名数组排序
  * @return 签名验证结果
  */
 function getSignVeryfy($para_temp, $sign, $isSort)
 {
     //除去待签名参数数组中的空值和签名参数
     $para = paraFilter($para_temp);
     //对待签名参数数组排序
     if ($isSort) {
         $para = argSort($para);
     } else {
         $para = $this->sortNotifyPara($para);
     }
     //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串
     $prestr = \Library\pay\direct_pay\lib\AlipayCore::createLinkstring($para);
     $isSgin = false;
     switch (strtoupper(trim($this->alipay_config['sign_type']))) {
         case "MD5":
             $isSgin = \Library\pay\direct_pay\lib\AlipayMd5::md5Verify($prestr, $sign, $this->alipay_config['key']);
             break;
         case "RSA":
             $isSgin = AlipayRsa::rsaVerify($prestr, trim($this->alipay_config['ali_public_key_path']), $sign);
             break;
         case "0001":
             $isSgin = AlipayRsa::rsaVerify($prestr, trim($this->alipay_config['ali_public_key_path']), $sign);
             break;
         default:
             $isSgin = false;
     }
     return $isSgin;
 }