mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-05 17:37:59 +08:00
通过添加系统属性hutool.crypto.decodeHex强制关闭hex识别以解决hex和Base64歧义问题
This commit is contained in:
parent
44580782f1
commit
163f1efd43
@ -16,6 +16,7 @@
|
||||
* 【http 】 修复HtmlUtil.removeHtmlAttr处理空格问题(issue#I8YV0K@Gitee)
|
||||
* 【core 】 修复CollUtil.containsAll在coll2长度大于coll1时逻辑歧义问题(issue#I8Z2Q4@Gitee)
|
||||
* 【poi 】 修复当sheetName 不存在时,ExcelUtil.getReader方法不会释放文件问题(issue#I8ZIQC@Gitee)
|
||||
* 【crypto】 通过添加系统属性hutool.crypto.decodeHex强制关闭hex识别以解决hex和Base64歧义问题(issue#I90M9D@Gitee)
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
# 5.8.25(2024-01-11)
|
||||
|
@ -3,10 +3,7 @@ package cn.hutool.crypto;
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.lang.Validator;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.HexUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.*;
|
||||
import cn.hutool.crypto.asymmetric.AsymmetricAlgorithm;
|
||||
import cn.hutool.crypto.asymmetric.RSA;
|
||||
import cn.hutool.crypto.asymmetric.Sign;
|
||||
@ -56,6 +53,9 @@ import java.util.Map;
|
||||
*/
|
||||
public class SecureUtil {
|
||||
|
||||
/** Hutool自定义系统属性:是否解码Hex字符 issue#I90M9D */
|
||||
public static String HUTOOL_CRYPTO_DECODE_HEX = "hutool.crypto.decodeHex";
|
||||
|
||||
/**
|
||||
* 默认密钥字节数
|
||||
*
|
||||
@ -1014,7 +1014,10 @@ public class SecureUtil {
|
||||
* @since 4.3.3
|
||||
*/
|
||||
public static byte[] decode(String key) {
|
||||
return Validator.isHex(key) ? HexUtil.decodeHex(key) : Base64.decode(key);
|
||||
// issue#I90M9D
|
||||
// 某些特殊字符串会无法区分Hex还是Base64,此处使用系统属性强制关闭Hex解析
|
||||
final boolean decodeHex = SystemPropsUtil.getBoolean(HUTOOL_CRYPTO_DECODE_HEX, true);
|
||||
return (decodeHex && Validator.isHex(key)) ? HexUtil.decodeHex(key) : Base64.decode(key);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user