From c347577bb6443f1edf54802c61a9dd9ea4e1f9e7 Mon Sep 17 00:00:00 2001 From: cj Date: Wed, 13 May 2020 18:02:51 +0800 Subject: [PATCH] =?UTF-8?q?AES=E8=A7=A3=E5=AF=86NPE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pigx/gateway/filter/PasswordDecoderFilter.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/PasswordDecoderFilter.java b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/PasswordDecoderFilter.java index 4b5f8d3bb..9c9e2ed65 100644 --- a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/PasswordDecoderFilter.java +++ b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/PasswordDecoderFilter.java @@ -127,12 +127,16 @@ public class PasswordDecoderFilter extends AbstractGatewayFilterFactory { // 获取请求密码并解密 Map inParamsMap = HttpUtil.decodeParamMap((String) s, CharsetUtil.CHARSET_UTF_8); - byte[] result = aes.decrypt(Base64.decode(inParamsMap.get(PASSWORD) - .getBytes(StandardCharsets.UTF_8))); - String password = new String(result, StandardCharsets.UTF_8); + if(inParamsMap.containsKey(PASSWORD)){ + byte[] result = aes.decrypt(Base64.decode(inParamsMap.get(PASSWORD) + .getBytes(StandardCharsets.UTF_8))); + String password = new String(result, StandardCharsets.UTF_8); - // 返回修改后报文字符 - inParamsMap.put(PASSWORD, password.trim()); + // 返回修改后报文字符 + inParamsMap.put(PASSWORD, password.trim()); + } else { + log.error("非法请求数据:{}",s); + } return Mono.just(HttpUtil.toParams(inParamsMap)); }; }