diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/socket/WeixinMessageDecoder.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/socket/WeixinMessageDecoder.java index 833913f8..29764cc3 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/socket/WeixinMessageDecoder.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/socket/WeixinMessageDecoder.java @@ -42,8 +42,9 @@ public class WeixinMessageDecoder extends private Map aesTokenMap = new ConcurrentHashMap(); public WeixinMessageDecoder(final Map aesTokenMap) { - for (Entry entry : aesTokenMap.entrySet()) { - this.aesTokenMap.put(entry.getKey(), entry.getValue()); + for (Entry entry : aesTokenMap.entrySet()) { + this.aesTokenMap.put(entry.getKey() == null ? "" : entry.getKey(), + entry.getValue()); } } @@ -79,7 +80,7 @@ public class WeixinMessageDecoder extends String msgSignature = parameters.containsKey("msg_signature") ? parameters .get("msg_signature").get(0) : ""; String weixinId = parameters.containsKey("weixin_id") ? parameters.get( - "weixin_id").get(0) : null; + "weixin_id").get(0) : ""; AesToken aesToken = aesTokenMap.get(weixinId); String encryptContent = null; if (!ServerToolkits.isBlank(messageContent)