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; } }