From ca5732e6dffde592d0deaa2f9bfa036d6461b57e Mon Sep 17 00:00:00 2001 From: Looly Date: Sun, 20 Mar 2022 14:21:10 +0800 Subject: [PATCH] fix Base32 --- CHANGELOG.md | 3 ++- .../main/java/cn/hutool/core/codec/Base32.java | 7 ++++++- .../java/cn/hutool/core/codec/Base62Codec.java | 10 +++++----- .../java/cn/hutool/core/codec/Base32Test.java | 15 ++++++++++++++- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb6ac30ff..469cfb88e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,13 +2,14 @@ # 🚀Changelog ------------------------------------------------------------------------------------------------------------- -# 5.8.0 (2022-03-19) +# 5.8.0 (2022-03-20) ### ❌不兼容特性 * 【db 】 【不向下兼容】增加MongoDB4.x支持(pr#568@Gitee) * 【json 】 【可能兼容问题】修改JSONObject结构,继承自MapWrapper * 【core 】 【可能兼容问题】BeanCopier重构,新建XXXCopier,删除XXXValueProvider * 【core 】 【可能兼容问题】URLEncoder废弃,URLEncoderUtil使用RFC3986 +* 【core 】 【可能兼容问题】增加Base32.encode不足位数补= ### 🐣新特性 * 【http 】 HttpRequest.form采用TableMap方式(issue#I4W427@Gitee) diff --git a/hutool-core/src/main/java/cn/hutool/core/codec/Base32.java b/hutool-core/src/main/java/cn/hutool/core/codec/Base32.java index f98619138..1fa7db4cb 100644 --- a/hutool-core/src/main/java/cn/hutool/core/codec/Base32.java +++ b/hutool-core/src/main/java/cn/hutool/core/codec/Base32.java @@ -79,7 +79,12 @@ public class Base32 { base32.append(BASE32_CHARS.charAt(digit)); } - return StrUtil.fillAfter(base32.toString(), '=', encodeLen); + // 末尾补充不足长度的 + while(base32.length() < encodeLen){ + base32.append('='); + } + + return base32.toString(); } /** diff --git a/hutool-core/src/main/java/cn/hutool/core/codec/Base62Codec.java b/hutool-core/src/main/java/cn/hutool/core/codec/Base62Codec.java index 0561e0a70..1272406ac 100644 --- a/hutool-core/src/main/java/cn/hutool/core/codec/Base62Codec.java +++ b/hutool-core/src/main/java/cn/hutool/core/codec/Base62Codec.java @@ -104,7 +104,7 @@ public class Base62Codec implements Encoder, Decoder, Decoder, Decoder, Decoder