Example #1
0
 /**
  * 对控件支付成功返回的结果信息中data域进行验签
  * @param $jsonData json格式数据,例如:{"sign" : "J6rPLClQ64szrdXCOtV1ccOMzUmpiOKllp9cseBuRqJ71pBKPPkZ1FallzW18gyP7CvKh1RxfNNJ66AyXNMFJi1OSOsteAAFjF5GZp0Xsfm3LeHaN3j/N7p86k3B1GrSPvSnSw1LqnYuIBmebBkC1OD0Qi7qaYUJosyA1E8Ld8oGRZT5RR2gLGBoiAVraDiz9sci5zwQcLtmfpT5KFk/eTy4+W9SsC0M/2sVj43R9ePENlEvF8UpmZBqakyg5FO8+JMBz3kZ4fwnutI5pWPdYIWdVrloBpOa+N4pzhVRKD4eWJ0CoiD+joMS7+C0aPIEymYFLBNYQCjM0KV7N726LA==",  "data" : "pay_result=success&tn=201602141008032671528&cert_id=68759585097"}
  * @return 是否成功
  */
 static function validateAppResponse($jsonData)
 {
     //global $log;
     $data = json_decode($jsonData);
     $sign = $data->sign;
     $data = $data->data;
     $dataMap = parseQString($data);
     $public_key = getPulbicKeyByCertId($dataMap['cert_id']);
     $signature = base64_decode($sign);
     $params_sha1x16 = sha1($data, FALSE);
     $isSuccess = openssl_verify($params_sha1x16, $signature, $public_key, OPENSSL_ALGO_SHA1);
     return $isSuccess;
 }
Example #2
0
function verify($params)
{
    global $log;
    $public_key = getPulbicKeyByCertId($params['certId']);
    $signature_str = $params['signature'];
    unset($params['signature']);
    $params_str = coverParamsToString($params);
    $log->LogInfo('报文去[signature] key=val&串>' . $params_str);
    $signature = base64_decode($signature_str);
    $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;
}
Example #3
0
/**
 * 验签
 *
 * @param String $params_str        	
 * @param String $signature_str        	
 */
function verify($params)
{
    // 公钥
    $public_key = getPulbicKeyByCertId($params['certId']);
    //	echo $public_key.'<br/>';
    // 签名串
    $signature_str = $params['signature'];
    unset($params['signature']);
    $params_str = coverParamsToString($params);
    $signature = base64_decode($signature_str);
    //	echo date('Y-m-d',time());
    $params_sha1x16 = sha1($params_str, FALSE);
    $isSuccess = openssl_verify($params_sha1x16, $signature, $public_key, OPENSSL_ALGO_SHA1);
    return $isSuccess;
}
Example #4
0
/**
 * 验签
 *
 * @param String $params_str        	
 * @param String $signature_str        	
 */
function verify($params)
{
    global $log;
    // 公钥
    $public_key = getPulbicKeyByCertId($params['certId']);
    //	echo $public_key.'<br/>';
    // 签名串
    $signature_str = $params['signature'];
    unset($params['signature']);
    $params_str = createLinkString($params, true, false);
    $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;
}
Example #5
0
/**
 * 验签
 *
 * @param String $params_str        	
 * @param String $signature_str        	
 */
function verify($params)
{
    $log = new \PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
    // 公钥
    $public_key = getPulbicKeyByCertId($params['certId']);
    //	echo $public_key.'<br/>';
    // 签名串
    $signature_str = $params['signature'];
    unset($params['signature']);
    $params_str = 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;
}