| protected function sign($data,$signType = "RSA") {$priKey=$this->rsaPrivateKey;
 $res = "-----BEGIN RSA PRIVATE KEY-----n" .
 wordwrap($priKey,64,"n",true) .
 "n-----END RSA PRIVATE KEY-----";
 ($res) or die('您使用的私钥格式错误,请检查RSA私钥配置');
if ("RSA2" == $signType) {
  openssl_sign($data,$sign,$res,version_compare(PHP_VERSION,'5.4.0','<') ? SHA256 : OPENSSL_ALGO_SHA256); //OPENSSL_ALGO_SHA256是php5.4.8以上版本才支持
} else {
  openssl_sign($data,$res);
}
$sign = base64_encode($sign);
return $sign;
 } /** 
校验$value是否非空if not set,return true;if is null,return true;**/
 protected function checkEmpty($value) {
 if (!isset($value))
 return true;
 if ($value === null)
 return true;
 if (trim($value) === "")
 return true;
 return false;
 } public function getSignContent($params) {ksort($params);
 $stringToBeSigned = "";
 $i = 0;
 foreach ($params as $k => $v) {
 if (false === $this->checkEmpty($v) && "@" != substr($v,1)) {
 // 转换成目标字符集
 $v = $this->characet($v,$this->charset);
 if ($i == 0) {
 $stringToBeSigned .= "$k" . "=" . "$v";
 } else {
 $stringToBeSigned .= "&" . "$k" . "=" . "$v";
 }
 $i++;
 }
 }
 unset ($k,$v);
return $stringToBeSigned;
 } /** (编辑:锡盟站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |