From 1f054ca1b8c36177b092c5721f5bdd173ce94863 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E8=89=AF?= <841369634@qq.com> Date: Fri, 8 Oct 2021 17:39:34 +0800 Subject: [PATCH] =?UTF-8?q?Base64.isBase64(base64)=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=8C=E5=A6=82=E6=9E=9C=E5=AD=98=E5=9C=A8=E5=8F=8C=E5=AD=97?= =?UTF-8?q?=E8=8A=82=E5=AD=97=E7=AC=A6=EF=BC=8C=E7=9B=B4=E6=8E=A5=E8=BF=94?= =?UTF-8?q?=E5=9B=9Efalse=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/hutool/core/codec/Base64.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/codec/Base64.java b/hutool-core/src/main/java/cn/hutool/core/codec/Base64.java index 976124c01..809e5f779 100644 --- a/hutool-core/src/main/java/cn/hutool/core/codec/Base64.java +++ b/hutool-core/src/main/java/cn/hutool/core/codec/Base64.java @@ -323,7 +323,18 @@ public class Base64 { * @since 5.7.5 */ public static boolean isBase64(CharSequence base64){ - return isBase64(StrUtil.utf8Bytes(base64)); + if (base64 == null || base64.length() < 2) { + return false; + } + + byte[] bytes = StrUtil.utf8Bytes(base64); + + if (bytes.length != base64.length()) { + // 如果长度不相等,说明存在双字节字符,肯定不是Base64,直接返回false + return false; + } + + return isBase64(bytes); } /**