Files
yexuejc-base/README.md
maxf 7f8c46fa9b 🚧 进行中的工作/🔄 重构/ 测试: 优化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
- 整体增强各加密类的安全性、健壮性和代码可维护性
2025-12-12 18:02:13 +08:00

35 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
yexuejc-base 基于jdk11常用工具包
----------------------
源码地址:<br>
github:https://github.com/yexuejc/yexuejc-base
gitee:https://gitee.com/jzsw-it/yexuejc-base
### 说明
1. 支持环境java211.5.0开始支持java11请使用`1.5.x-jre11`版本1.6.0开始支持java21请使用`1.6.x-jre21`版本)
2. 该工具包基于springboot提取按理说适用于所有java工程
7.`1.5.0`开始,版本分为`1.5.0-jre8``1.5.0-jre11``1.6.0-jre21`分别对于jre8和jre11和jre21使用后续逐渐全面使用jre21
### 使用
pom.xml
```
<dependencies>
<dependency>
<groupId>top.yexuejc</groupId>
<artifactId>yexuejc-base</artifactId>
<version>1.6.0-jre21</version>
</dependency>
</dependencies>
```
### 工具文档
[Wiki](WIKI.md)
### 更新日志
[更新记录](UPDATE.md)
#### 项目发展
本工程项目由maxf基于日常使用从[yexuejc-springboot](https://github.com/yexuejc/yexuejc-springboot.git)_准备移交版本控制_中抽离开源独立发展后续增加许多常用工具包。
使用者逐渐增多后考虑可靠性和稳定性原则,移交版本控制给`成都极致思维网络科技有限公司`管理maven包直接发布到中央仓库。
开源工程项目仍然保持继续维护和欢迎更多愿意贡献的小伙伴参与。