diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/message/WxOpenXmlMessage.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/message/WxOpenXmlMessage.java
index bef7d16d..b042db76 100644
--- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/message/WxOpenXmlMessage.java
+++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/bean/message/WxOpenXmlMessage.java
@@ -8,6 +8,7 @@ import me.chanjar.weixin.common.util.xml.XStreamCDataConverter;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import me.chanjar.weixin.open.api.WxOpenConfigStorage;
+import me.chanjar.weixin.open.api.impl.WxOpenInMemoryConfigStorage;
import me.chanjar.weixin.open.util.WxOpenCryptUtil;
import me.chanjar.weixin.open.util.xml.XStreamTransformer;
import org.apache.commons.io.IOUtils;
@@ -140,6 +141,7 @@ public class WxOpenXmlMessage implements Serializable {
String timestamp, String nonce, String msgSignature) {
WxOpenCryptUtil cryptUtil = new WxOpenCryptUtil(wxOpenConfigStorage);
String plainText = cryptUtil.decrypt(msgSignature, timestamp, nonce, encryptedXml);
+ log.debug("解密后的原始xml消息内容:{}", plainText);
return WxMpXmlMessage.fromXml(plainText);
}
@@ -152,4 +154,31 @@ public class WxOpenXmlMessage implements Serializable {
throw new RuntimeException(e);
}
}
+
+ public static void main(String[] args) {
+ WxOpenInMemoryConfigStorage wxOpenConfigStorage = new WxOpenInMemoryConfigStorage();
+ wxOpenConfigStorage.setComponentAesKey("");
+ wxOpenConfigStorage.setComponentToken("");
+ wxOpenConfigStorage.setComponentAppId("");
+
+ WxOpenCryptUtil cryptUtil = new WxOpenCryptUtil(wxOpenConfigStorage);
+ /**
+ * 接收微信APP回调:[appId=[wx3cb90ab25f132468], openid=[ok9Xtt7rErEqlQKBjaluwroxsHaM], signature=[50e3ddd2d2817cbc309ed0a4b9b6eafe6e4c8648], encType=[aes], msgSignature=[00c9b32600e67276a56e2092fe3dfe1c486318f5], timestamp=[1653534263], nonce=[897774971], requestBody=[
+ *
+ *
+ *
+ *
+ *
+ * ]
+ */
+ String msgSignature = "50e3ddd2d2817cbc309ed0a4b9b6eafe6e4c8648";
+ String timestamp = "1653534263";
+ String nonce = "897774971";
+ String encryptedXml = "\n" +
+ " \n" +
+ " \n" +
+ "";
+ String plainText = cryptUtil.decrypt(msgSignature, timestamp, nonce, encryptedXml);
+ System.out.println(plainText);
+ }
}