From 490cc1a7c5d0069c5b8dafc76ec834363cb71afc Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 19 May 2023 17:06:47 +0800 Subject: [PATCH] =?UTF-8?q?=E7=96=AF=E4=BD=93=E6=B8=B8=E6=88=8F=E6=94=AF?= =?UTF-8?q?=E4=BB=98sign=E9=97=AE=E9=A2=98=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jmfy/controller/ChengfengRechargeController.java | 11 +++++------ .../jmfy/controller/FengtiIOSRechargeController.java | 9 ++++----- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/jmfy/controller/ChengfengRechargeController.java b/src/main/java/com/jmfy/controller/ChengfengRechargeController.java index 8b3a723..b460091 100644 --- a/src/main/java/com/jmfy/controller/ChengfengRechargeController.java +++ b/src/main/java/com/jmfy/controller/ChengfengRechargeController.java @@ -50,7 +50,7 @@ public class ChengfengRechargeController { String decode = FengTiDesUtil.decode(ntData, Callback_Key); HashMap data = (HashMap) XmlUtil.readStringXmlOut(decode); - String orderno = data.get("out_order_no"); // 支付订单号 + String orderno = data.get("order_no"); // 支付订单号 double amount = Double.parseDouble(data.get("amount")) * 100; //充值金额(单位:元)(需要换算成分) String gameExt = data.get("extras_params"); //透传参数,如CP下单有值提交,则会原样回传,不得超过255个字符 String[] callback = gameExt.split("_"); @@ -68,14 +68,13 @@ public class ChengfengRechargeController { String sign = map.get("sign"); String decodeSign = FengTiDesUtil.decode(sign, Callback_Key); String md5Sign = map.get("md5Sign"); + String decodeMd5Sign = FengTiDesUtil.decode(md5Sign, Callback_Key); - StringBuilder localSign = new StringBuilder(); - localSign.append(decodeNtData).append(decodeSign).append(Md5_Key); - String mySign = MD5Util.encrypByMd5(localSign.toString()); - if (mySign.equals(md5Sign)) { + String mySign = MD5Util.encrypByMd5(decodeNtData + decodeSign + Md5_Key); + if (mySign.equals(decodeMd5Sign)) { return true; } - LOGGER.error("疯体==>,sign fail, localSign={},md5Sign={},map={}", localSign, md5Sign, map); + LOGGER.error("疯体乘风==>sign验证异常, localSign={},md5Sign={},map={}", mySign, decodeMd5Sign, map); return false; } } diff --git a/src/main/java/com/jmfy/controller/FengtiIOSRechargeController.java b/src/main/java/com/jmfy/controller/FengtiIOSRechargeController.java index 99d7de6..b444fb2 100644 --- a/src/main/java/com/jmfy/controller/FengtiIOSRechargeController.java +++ b/src/main/java/com/jmfy/controller/FengtiIOSRechargeController.java @@ -66,14 +66,13 @@ public class FengtiIOSRechargeController { String sign = map.get("sign"); String decodeSign = FengTiDesUtil.decode(sign, Callback_Key); String md5Sign = map.get("md5Sign"); + String decodeMd5Sign = FengTiDesUtil.decode(md5Sign, Callback_Key); - StringBuilder localSign = new StringBuilder(); - localSign.append(decodeNtData).append(decodeSign).append(Md5_Key); - String mySign = MD5Util.encrypByMd5(localSign.toString()); - if (mySign.equals(md5Sign)) { + String mySign = MD5Util.encrypByMd5(decodeNtData + decodeSign + Md5_Key); + if (mySign.equals(decodeMd5Sign)) { return true; } - LOGGER.error("疯体==>,sign fail, localSign={},md5Sign={},map={}", localSign, md5Sign, map); + LOGGER.error("疯体ios==>sign验证异常, localSign={},md5Sign={},map={}", mySign, decodeMd5Sign, map); return false; } }