Beispiel #1
0
 /**
  * 验签
  *
  * @param $params
  *
  * @return int
  */
 public static function verify($params)
 {
     //global $log;
     // 公钥
     $public_key = self::getPulbicKeyByCertId($params['certId']);
     //	echo $public_key.'<br/>';
     // 签名串
     $signature_str = $params['signature'];
     unset($params['signature']);
     $params_str = Common::coverParamsToString($params);
     //$log->LogInfo ( '报文去[signature] key=val&串>' . $params_str );
     $signature = base64_decode($signature_str);
     //	echo date('Y-m-d',time());
     $params_sha1x16 = sha1($params_str, FALSE);
     //$log->LogInfo ( '摘要shax16>' . $params_sha1x16 );
     $isSuccess = openssl_verify($params_sha1x16, $signature, $public_key, OPENSSL_ALGO_SHA1);
     //$log->LogInfo ( $isSuccess ? '验签成功' : '验签失败' );
     return $isSuccess;
 }