Example #1
0
/**
 * 签名
 *
 * @param String $params_str
 */
function sign(&$params) {
	global $log;
	$log->LogInfo ( '=====签名报文开始======' );
	if(isset($params['transTempUrl'])){
		unset($params['transTempUrl']);
	}
	// 转换成key=val&串
	$params_str = coverParamsToString ( $params );
	$log->LogInfo ( "签名key=val&...串 >" . $params_str );
	
	$params_sha1x16 = sha1 ( $params_str, FALSE );
	$log->LogInfo ( "摘要sha1x16 >" . $params_sha1x16 );
	// 签名证书路径
	$cert_path = SDK_SIGN_CERT_PATH;
	$private_key = getPrivateKey ( $cert_path );
	// 签名
	$sign_falg = openssl_sign ( $params_sha1x16, $signature, $private_key, OPENSSL_ALGO_SHA1 );
	if ($sign_falg) {
		$signature_base64 = base64_encode ( $signature );
		$log->LogInfo ( "签名串为 >" . $signature_base64 );
		$params ['signature'] = $signature_base64;
	} else {
		$log->LogInfo ( ">>>>>签名失败<<<<<<<" );
	}
	$log->LogInfo ( '=====签名报文结束======' );
}
Example #2
0
/**
 * 签名
 *
 * @param String $params_str
 */
function sign(&$params, $cert_path, $cert_pwd)
{
    //global $log;
    $log = new PhpLog(SDK_LOG_FILE_PATH, "PRC", SDK_LOG_LEVEL);
    $log->LogInfo('=====签名报文开始======');
    if (isset($params['signature'])) {
        unset($params['signature']);
    }
    // 转换成key=val&串
    $params_str = createLinkString($params, true, false);
    $log->LogInfo("签名key=val&...串 >" . $params_str);
    $params_sha1x16 = sha1($params_str, FALSE);
    $log->LogInfo("摘要sha1x16 >" . $params_sha1x16);
    $private_key = getPrivateKey($cert_path, $cert_pwd);
    // 签名
    $sign_falg = openssl_sign($params_sha1x16, $signature, $private_key, OPENSSL_ALGO_SHA1);
    if ($sign_falg) {
        $signature_base64 = base64_encode($signature);
        $log->LogInfo("签名串为 >" . $signature_base64);
        $params['signature'] = $signature_base64;
    } else {
        $log->LogInfo(">>>>>签名失败<<<<<<<");
    }
    $log->LogInfo('=====签名报文结束======');
}
Example #3
0
/**
 * 签名
 *
 * @param String $params_str
 */
function sign(&$params)
{
    if (isset($params['transTempUrl'])) {
        unset($params['transTempUrl']);
    }
    // 转换成key=val&串
    $params_str = coverParamsToString($params);
    $params_sha1x16 = sha1($params_str, FALSE);
    // 签名证书路径
    $cert_path = SDK_SIGN_CERT_PATH;
    $private_key = getPrivateKey($cert_path);
    // 签名
    $sign_falg = openssl_sign($params_sha1x16, $signature, $private_key, OPENSSL_ALGO_SHA1);
    $signature_base64 = base64_encode($signature);
    $params['signature'] = $signature_base64;
}
Example #4
0
function InsertSignature($amount)
{
    $merchantID = getMerchantID();
    $timestamp = getmicrotime();
    $data = $merchantID . $amount . $timestamp;
    $pub = getPublicKey();
    $pvt = getPrivateKey();
    $pub_digest = hopHash($data, $pub);
    $pvt_digest = hopHash($data, $pvt);
    echo '<input type="hidden" name="amount" value="' . $amount . '">' . "\n";
    echo '<input type="hidden" name="orderPage_timestamp" value="' . $timestamp . '">' . "\n";
    echo '<input type="hidden" name="merchantID" value="' . $merchantID . '">' . "\n";
    echo '<input type="hidden" name="orderPage_signaturePublic" value="' . $pub_digest . '">' . "\n";
    echo '<input type="hidden" name="orderPage_signaturePrivate" value="' . $pvt_digest . '">' . "\n";
}
Example #5
0
/**
 * 解密数据
 * @param string $data数据
 * @param string $cert_path 证书配置路径
 * @return unknown
 */
function decryptData($data, $cert_path = SDK_SIGN_CERT_PATH)
{
    $data = base64_decode($data);
    $private_key = getPrivateKey($cert_path);
    openssl_private_decrypt($data, $crypted, $private_key);
    return $crypted;
}
Example #6
0
function verifyRecaptcha($captcha)
{
    $response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=" . getPrivateKey() . "&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']);
    return json_decode($response);
}