mirror of
https://gitee.com/jzsw-it/yexuejc-base.git
synced 2025-12-23 02:19:26 +08:00
- 修改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 - 整体增强各加密类的安全性、健壮性和代码可维护性
35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
yexuejc-base 基于jdk11常用工具包
|
||
----------------------
|
||
源码地址:<br>
|
||
github:https://github.com/yexuejc/yexuejc-base
|
||
gitee:https://gitee.com/jzsw-it/yexuejc-base
|
||
|
||
### 说明
|
||
1. 支持环境:java21(1.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包直接发布到中央仓库。
|
||
开源工程项目仍然保持继续维护和欢迎更多愿意贡献的小伙伴参与。
|