diff --git a/CHANGELOG.md b/CHANGELOG.md index ce8ccc6ef0..3b8bc216a0 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,14 +12,15 @@ * 【core 】 增强`BitSetBloomFilter`构造器的参数有效性校验逻辑(pr#4194@Github) ### 🐞Bug修复 -* 【core 】 修复`Calculator.conversion`方法计算包含科学计数法表达式的值时逻辑有误,结果不符合预期(pr#4172@Github) -* 【core 】 修复`NumberUtil.getBinaryStr`方法计算Double等丢失小数问题(pr#1411@Gitee) -* 【core 】 修复`MathUtil.multiple`方法在大整数乘法运算中整数溢出风险(pr#4174@Github) -* 【core 】 修复`CharSequenceUtil.move`方法在局部循环位移中输出不符合预期问题(issue#IDD181@Gitee) +* 【core 】 修复`Calculator.conversion`方法计算包含科学计数法表达式的值时逻辑有误,结果不符合预期(pr#4172@Github) +* 【core 】 修复`NumberUtil.getBinaryStr`方法计算Double等丢失小数问题(pr#1411@Gitee) +* 【core 】 修复`MathUtil.multiple`方法在大整数乘法运算中整数溢出风险(pr#4174@Github) +* 【core 】 修复`CharSequenceUtil.move`方法在局部循环位移中输出不符合预期问题(issue#IDD181@Gitee) * 【bloomFilter】 修复`AbstractFilter`的`init`方法在`maxValue`小于`machineNum`时导致数组越界异常(pr#4189@Github) -* 【ai 】 修复`Models`枚举命名大小写混用问题(pr#4185@Github) -* 【core 】 修复 `ThreadUtil.getMainThread`在JDK25中返回null的问题(pr#1416@Gitee) -* 【core 】 修复 `NumberUtil.parseNumber`使用中文逗号导致识别问题(issue#4197@Github) +* 【ai 】 修复`Models`枚举命名大小写混用问题(pr#4185@Github) +* 【core 】 修复 `ThreadUtil.getMainThread`在JDK25中返回null的问题(pr#1416@Gitee) +* 【core 】 修复 `NumberUtil.parseNumber`使用中文逗号导致识别问题(issue#4197@Github) +* 【crypto 】 修复 `SecureUtil.hmacSha1`和`hmacSha256`生成随机密钥时存在逻辑问题(pr#4199@Github) ------------------------------------------------------------------------------------------------------------- # 5.8.42(2025-11-28) diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/SecureUtilTest.java b/hutool-crypto/src/test/java/cn/hutool/crypto/SecureUtilTest.java index 3d8d6c7cc7..2ff4b36551 100644 --- a/hutool-crypto/src/test/java/cn/hutool/crypto/SecureUtilTest.java +++ b/hutool-crypto/src/test/java/cn/hutool/crypto/SecureUtilTest.java @@ -5,36 +5,20 @@ import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.HexUtil; import cn.hutool.core.util.RandomUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.crypto.asymmetric.*; +import cn.hutool.crypto.asymmetric.AsymmetricAlgorithm; +import cn.hutool.crypto.asymmetric.Sign; +import cn.hutool.crypto.asymmetric.SignAlgorithm; import cn.hutool.crypto.digest.*; import cn.hutool.crypto.symmetric.AES; import cn.hutool.crypto.symmetric.DES; -import cn.hutool.crypto.symmetric.DESede; -import cn.hutool.crypto.symmetric.RC4; -import cn.hutool.crypto.symmetric.ZUC; -import cn.hutool.crypto.symmetric.fpe.FPE; -import org.bouncycastle.crypto.AlphabetMapper; -import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.junit.jupiter.api.Test; -import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import java.io.ByteArrayInputStream; import java.io.File; import java.io.InputStream; -import java.nio.charset.StandardCharsets; import java.security.KeyPair; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.security.PrivateKey; -import java.security.Provider; -import java.security.PublicKey; -import java.security.Security; -import java.security.Signature; -import java.util.HashMap; -import java.util.Map; import static org.junit.jupiter.api.Assertions.*;