Esempio n. 1
0
 public static function doEncrypt($map)
 {
     $log = new Logger();
     // 找到这个服务需要校验哪些字段
     // 		if(count(CheckReqDataAndEncrypt::$keysarray)<=0){
     // 			$log->logInfo ("loading mapping_keys.ini");
     // 			CheckReqDataAndEncrypt::$keysarray=parse_ini_file("mapping_keys.ini");
     // 		}
     // 		$keys = CheckReqDataAndEncrypt::$keysarray["Encrypt.Paramters"];
     // 		if (empty($keys)) {
     // // 			die("Not configured to RSA encrypt sensitive fields");
     // 			$log->logInfo ("Not configured to RSA encrypt sensitive fields");
     // 			return $map;
     // 		}
     // 对每个key进行正则表达式校验
     $keys = "card_id,valid_date,cvv2,pass_wd,identity_code,card_holder,recv_account,recv_user_name,identity_holder,identityCode,cardHolder,mer_cust_name,account_name,bank_account,endDate";
     $chkKeys = array();
     $chkKeys = explode(",", $keys);
     if (count($chkKeys) > 0) {
         foreach ($chkKeys as $key) {
             $value = $map->get($key);
             if (empty($value)) {
                 continue;
             }
             $log->logInfo("The parameters of the request " . $key . " RSA encryption");
             $value = iconv("UTF-8", "GBK", $value);
             $value = RSACryptUtil::encrypt($value);
             $map->put($key, $value);
         }
     }
     return $map;
 }
Esempio n. 2
0
<script language="javascript"
	src="../common/syntaxHighlighter/js/shCore.js"></script>
<script language="javascript"
	src="../common/syntaxHighlighter/js/shBrushPhp.js"></script>

</head>
<?php 
require_once 'common.php';
require_once 'mer2Plat.php';
$mer_id = $_REQUEST['mer_id'];
$data1 = $_REQUEST['data1'];
$map = new HashMap();
$map->put("mer_id", $mer_id);
$map->put("data1", $data1);
$data2 = "";
$data2 = RSACryptUtil::decrypt($data1, $mer_id);
?>

  <body>
	<div id="HEADA"><?php 
include "./head.php";
?>
</div>
	<div id="MAINA">
		<div class="mindexa">
			<div class="mleft">
          <?php 
include "./left.php";
?>
        </div>
			<div class="mright">
Esempio n. 3
0
<?php 
require_once 'common.php';
//SignUtil::verify("mer_date=20120110&mer_id=9995&order_id=10002417&ret_code=0000&version=4.0","LZRUM0FfsqgcCiwHXghFGKfz0+xWFPGUGNXVaj7kcJPY2iOopiIQXwsc4kIeFIc0nttIx29KCvbuPxJJ0uHU5wJbRAzxH8H8cHGMVahTny4joll9zSXatep3jSAa4RE2BovMkIxYzif6tTCf7DMAlD+dDMZ6oRJDGW7rFxJh4G0=");
$data = RSACryptUtil::decrypt("j89aEJ00lS6CfTGLjQhpZTEzobUUtFEQerqC/GfsTlPDkls8f3jlX00F/4iFckY6WI3R3ckkktiYTXiiFmc/gJ5YzfHY9EgCra0DAsp44kOd15hQ4aaENUMzWqxQUoqGQtcHDCril/litPVpOm0RD1uuGreW+UPg3VYv9QQ0G8s=", "6374");
die($data);
?>

Esempio n. 4
0
 /**
  * V4.0对商户提交的参数进行校验,最终返回一个提交给平台的HashMap
  * @param HashMap $param 商户提交的参数
  * @param HashMap $fields1 必填的参数
  * @param HashMap $fields2 非必填参数
  */
 public static function getData($param, $fields1, $fields2)
 {
     //需要进行日期校验的参数
     $field_date = new HashMap();
     $field_date->put("settle_date", "settle_date");
     $field_date->put("mer_date", "mer_date");
     $field_date->put("payDate", "payDate");
     //需要进行RAS加密的参数
     $field_ras = new HashMap();
     $field_ras->put("card_id", "card_id");
     $field_ras->put("valid_date", "valid_date");
     $field_ras->put("cvv2", "cvv2");
     $field_ras->put("pass_wd", "pass_wd");
     $field_ras->put("identity_code", "identity_code");
     $field_ras->put("card_holder", "card_holder");
     //付款请求添加RAS加密的参数
     $field_ras->put("recv_account", "recv_account");
     $field_ras->put("recv_user_name", "recv_user_name");
     $field_ras->put("identity_holder", "identity_holder");
     $data = new HashMap();
     if (!$fields1->isEmpty() && $fields1->size() > 0) {
         $keys = $fields1->keys();
         foreach ($keys as $key) {
             $value = StringUtil::trim($param->get($key));
             $length = StringUtil::trim($fields1->get($key));
             $flag = $field_date->containsKey($key);
             $flag1 = $field_ras->containsKey($key);
             if ($flag1) {
                 if ("" == $value) {
                     die($key . "为空或者长度超过限制");
                 } else {
                     $value = iconv("UTF-8", "GBK", $value);
                     $value = RSACryptUtil::encrypt($value);
                     $data->put($key, $value);
                 }
             } elseif ($flag) {
                 if (!DateUtil::checkData($value)) {
                     die($key . "为空或者长度不符合要求");
                 } else {
                     $data->put($key, $value);
                 }
             } elseif ("split_data" == $key) {
                 if ("" == $value) {
                     die($key . "为空或者长度超过限制");
                 } else {
                     $data->put($key, $value);
                 }
             } else {
                 if ("" == $value || strlen($value) > $length) {
                     die($key . "为空或者长度超过限制");
                 } else {
                     $data->put($key, $value);
                 }
             }
         }
         $keys1 = $fields2->keys();
         foreach ($keys1 as $key) {
             if (!is_null($param->get($key))) {
                 $value = StringUtil::trim($param->get($key));
                 $length = StringUtil::trim($fields2->get($key));
                 $flag1 = $field_ras->containsKey($key);
                 if ($flag1) {
                     if ("" != $value) {
                         if (strlen($value) > $length) {
                             die($key . "为空或者长度超过限制");
                         } else {
                             $value = iconv("UTF-8", "GBK", $value);
                             $value = RSACryptUtil::encrypt($value);
                             $data->put($key, $value);
                         }
                     }
                 } elseif ($field_date->containsKey($key)) {
                     if (!DateUtil::checkData($value)) {
                         die($key . "为空或者长度不符合要求");
                     } else {
                         $data->put($key, $value);
                     }
                 } elseif ("split_data" == $key) {
                     if ("" != $value) {
                         $data->put($key, $value);
                     }
                 } else {
                     if ("" != $value) {
                         if (strlen($value) > $length) {
                             die($key . "为空或者长度超过限制");
                         } else {
                             $data->put($key, $value);
                         }
                     }
                 }
             }
         }
     } else {
         die("获取请求参数字符串失败:传入参数为空!");
     }
     return $data;
 }
Esempio n. 5
0
    <meta name="description" content="" />
    <link rel="stylesheet" href="../common/css/public_css_ussys.css" type="text/css">
    <link type="text/css" rel="stylesheet" href="../common/syntaxHighlighter/css/SyntaxHighlighter.css"></link>
    <script language="javascript" src="../common/syntaxHighlighter/js/shCore.js"></script>
    <script language="javascript" src="../common/syntaxHighlighter/js/shBrushPhp.js"></script>
  </head>

  <?php 
require_once '../api/mer2Plat.php';
$data1 = $_REQUEST['data1'];
$map = new HashMap();
$map->put("data1", $data1);
$data2 = "";
$data2_error = "";
if ($_REQUEST['data1'] != "") {
    $data2 = urlencode(RSACryptUtil::encrypt(iconv("UTF-8", "GBK", $data1)));
    $data_error = "方法自动进行加密及URLencode编码";
} else {
    $data2 = $data1;
    $data_error = "加密数据为空,无任何值";
}
?>

  <body>
    <div id="HEADA"><?php 
include "./head.php";
?>
</div>
    <div id="MAINA">
      <div class="mindexa">
        <div class="mleft">
$map = new HashMap();
$map->put("tradeNo", $tradeNo);
$map->put("identityType", $identityType);
$map->put("identity_Code", $identity_Code);
$map->put("card_Holder", $card_Holder);
$map->put("merCustId", $merCustId);
$map->put("payType", $payType);
$map->put("gateId", $gateId);
$map->put("mobileId", $mobileId);
$map->put("canModifyFlag", $canModifyFlag);
$identityCode = "";
$cardHolder = "";
if ($_REQUEST['identity_Code'] != "" && $_REQUEST['card_Holder'] != "") {
    //对身份证号和姓名进行加密。该方法需要引用到php加密相关方法。
    $identityCode = urlencode(RSACryptUtil::encrypt(iconv("UTF-8", "GBK", $identity_Code)));
    $cardHolder = urlencode(RSACryptUtil::encrypt(iconv("UTF-8", "GBK", $card_Holder)));
} else {
    $identityCode = $identity_Code;
    $cardHolder = $card_Holder;
}
$wap_url = "https://m.soopay.net/q/xhtml/index.do?tradeNo=" . $tradeNo . "&identityType=" . $identityType . "&identityCode=" . $identityCode . "&cardHolder=" . $cardHolder . "&merCustId" . $merCustId . "&payType=" . $payType . "&gateId=" . $gateId . "&canModifyFlag=" . $canModifyFlag . "&mobileId=" . $mobileId;
$html5_url = "https://m.soopay.net/q/html5/index.do?tradeNo=" . $tradeNo . "&identityType=" . $identityType . "&identityCode=" . $identityCode . "&cardHolder=" . $cardHolder . "&merCustId" . $merCustId . "&payType=" . $payType . "&gateId=" . $gateId . "&mobileId=" . $mobileId;
?>

  <body>
	<div id="HEADA"><?php 
include "./head.php";
?>
</div>
	<div id="MAINA">
		<div class="mindexa">
Esempio n. 7
0
  <head>
    <title>商户私钥数据解密</title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <link rel="stylesheet" href="../common/css/public_css_ussys.css" type="text/css">
    <link type="text/css" rel="stylesheet" href="../common/syntaxHighlighter/css/SyntaxHighlighter.css"></link>
    <script language="javascript" src="../common/syntaxHighlighter/js/shCore.js"></script>
    <script language="javascript" src="../common/syntaxHighlighter/js/shBrushPhp.js"></script>
  </head>

  <?php 
require_once '../api/mer2Plat.php';
$mer_id = $_REQUEST['mer_id'];
$data1 = $_REQUEST['data1'];
$data2 = RSACryptUtil::decrypt(urldecode($data1), $mer_id);
?>

  <body>
    <div id="HEADA"><?php 
include "./head.php";
?>
</div>
    <div id="MAINA">
      <div class="mindexa">
        <div class="mleft">
          <?php 
include "./left.php";
?>
        </div>
        <div class="mright">