修复 SecureUtil.hmacSha1hmacSha256生成随机密钥时存在逻辑问题(pr#4199@Github)

This commit is contained in:
Looly
2025-12-25 23:26:51 +08:00
parent 299180a622
commit e996885e68
2 changed files with 11 additions and 26 deletions

View File

@@ -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)

View File

@@ -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.*;