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

1.3 KiB
Raw Permalink Blame History

yexuejc-base 基于jdk11常用工具包

源码地址:
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工程
  3. 1.5.0开始,版本分为1.5.0-jre81.5.0-jre111.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

更新日志

更新记录

项目发展

本工程项目由maxf基于日常使用yexuejc-springboot准备移交版本控制)中抽离开源独立发展,后续增加许多常用工具包。 使用者逐渐增多后考虑可靠性和稳定性原则,移交版本控制给成都极致思维网络科技有限公司管理maven包直接发布到中央仓库。 开源工程项目仍然保持继续维护和欢迎更多愿意贡献的小伙伴参与。