🚧 进行中的工作/🔄 重构/ 测试: 优化AES、DES3和RSA加密实现并增强安全性

- 修改DateConsts中的ISO_8601时间格式,使用XXX代替xxx以符合标准时区偏移表示
- 完善AES类注释及文档说明,明确加密模式支持情况和参数要求
- 优化AES加解密逻辑,去除不必要的数据块填充操作,直接使用原始数据进行加解密
- 增强AES异常处理机制,统一捕获并封装异常防止信息泄露
- 在AES中增加获取当前算法的方法,并完善各个getter/setter方法的注释和校验
- 重构DES3类,改进密钥长度验证逻辑,确保密钥非空且满足最低长度要求
- 改进DES3加密过程,使用SecureRandom生成随机IV并向量与加密结果合并存储
- 更新DES3解密流程,从加密数据中分离出IV用于解密,提高安全性
- 添加generateKey私有方法用于生成3DES密钥对象,集中管理密钥创建过程
- 优化DES3填充方法padding,当数据长度恰好为8的倍数时不进行多余填充
- 修订RSA类结构,将内部静态类Instace更名为Instance并调整访问权限
- 修改RSA字段为volatile类型,确保多线程环境下的可见性和一致性
- 完善RSA密钥生成方法initKeys,支持临时设置Base64URLSafe标志并在执行后恢复原值
- 优化RSA密钥文件写入方式,使用Files.writeString替代旧版方法提升性能
- 补充RSA获取公私钥方法的返回值说明和可能抛出的具体异常类型
- 改进RSA加密解密方法,支持传入base64URLSafe参数控制编码格式
- 重构RSA核心加解密逻辑encrypt/decrypt,抽取getKeyLength方法计算密钥长度
- 引入BouncyCastleProvider支持特定SHA3签名算法的RSA实现
- 增强RSA分段编解码rsaSplitCodec方法,加入最大块大小有效性检查
- 优化RSA签名verify方法,提取复合签名字符串解析逻辑至独立extractSignature方法
- 完善RSA2各类获取公私钥方法的返回值说明和详细的异常描述
- 修复RSA2中JcaPEMKeyConverter未指定Provider的问题,统一使用BouncyCastleProvider
- 整体增强各加密类的安全性、健壮性和代码可维护性
This commit is contained in:
maxf
2025-12-12 18:02:13 +08:00
parent 8774512cf0
commit 7f8c46fa9b
18 changed files with 1442 additions and 451 deletions

View File

@@ -1,5 +1,13 @@
yexuejc-base 更新记录
------------------
#### version 1.6.0-jre21
**time 2025-12-11 18:23:15** <br/>
**branch** jre21 <br/>
**update** <br/>
1. 全面升级到JDK21
---
#### version 1.5.7-jre11
**time 2025-12-11 18:10:47** <br/>
**branch** jre11 <br/>