Compare commits

..
4 changed files with 25 additions and 16 deletions

No files matched your search

+14 -5
View File
@@ -1,4 +1,4 @@
1.8-SNAPSHOT
1.7-SNAPSHOT-Java21
此版本包含:
1. 压缩/解压 (`compress`)
@@ -21,8 +21,17 @@
8.2 新建临时目录
8.3 获取当前运行的 JAR 文件路径
1.8 更新内容:
- 版本号升级为 1.8-SNAPSHOT(pom / version 常量 / README 引用同步)
- 构建与测试验证通过:mvn clean verify(JUnit 5 共 53 个用例全部通过)
1.7 更新内容:
- 安全:修复 Zip-Slip 路径穿越漏洞,解压时校验条目路径并拒绝符号/硬链接条目
- 安全:AES 升级为 AES-256/GCM(随机 IV + 认证标签),RSA 实现真实混合加密
(RSA-2048/OAEP 包裹随机 AES-256 会话密钥),密钥文件限制为仅属主可读写
- 健壮性:加解密改为流式处理(支持大文件),临时文件 + 原子替换,中途失败不损坏原数据
- 修复:随机数上界 Integer.MAX_VALUE 溢出;ColorPrintlnPlus 格式码叠加(颜色+加粗等)
- 修复:getHWID 命令执行增加超时并并发排空输出流,Windows 改用 PowerShell CIM(wmic 回退),
修正 Linux 磁盘序列号命令,MAC 优先物理网卡
- 修复:getJarPath 经 URI 解析(正确处理空格与 URL 编码),临时目录改用唯一命名
- 工程:测试全部迁移至 JUnit 5(53 个用例),pom 补充元数据与插件版本,
版本号统一由 pom / MANIFEST Implementation-Version 提供
- 兼容性:向下降级为Java21
在 1.7-SNAPSHOT 的基础上进行版本升级。
在 1.6-SNAPSHOT 的基础上进行安全加固与缺陷修复。
+4 -4
View File
@@ -7,7 +7,7 @@
## 技术栈
- **Java 25**
- **Java 21**
- **Maven** 构建
- **Apache Commons Compress 1.28.0**(压缩功能依赖)
- **JUnit Jupiter 5.13.0**(测试框架)
@@ -416,7 +416,7 @@ mvn test
## 使用
编译成功后,将 `target/gnu_java_utils_library-1.8-SNAPSHOT.jar` 放入项目依赖中,或在 Releases 中下载最新版 JAR 包。
编译成功后,将 `target/gnu_java_utils_library-1.7-SNAPSHOT.jar` 放入项目依赖中,或在 Releases 中下载最新版 JAR 包。
**pom.xml 引入本地依赖:**
@@ -425,9 +425,9 @@ mvn test
<dependency>
<groupId>top.gtb520.java.gnu</groupId>
<artifactId>gnu_java_utils_library</artifactId>
<version>1.8-SNAPSHOT</version>
<version>1.7-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/gnu_java_utils_library-1.8-SNAPSHOT.jar</systemPath>
<systemPath>${project.basedir}/lib/gnu_java_utils_library-1.7-SNAPSHOT.jar</systemPath>
</dependency>
</dependencies>
```
+2 -2
View File
@@ -6,7 +6,7 @@
<groupId>top.gtb520.java.gnu</groupId>
<artifactId>gnu_java_utils_library</artifactId>
<version>1.8-SNAPSHOT</version>
<version>1.7-SNAPSHOT-Java21</version>
<packaging>jar</packaging>
<name>GNU Java Utils Library</name>
@@ -22,7 +22,7 @@
</licenses>
<properties>
<maven.compiler.release>25</maven.compiler.release>
<maven.compiler.release>21</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.version>5.13.0</junit.version>
<surefire.version>3.6.0</surefire.version>
@@ -3,11 +3,11 @@ package top.gtb520.java.gnu.java.utils.library;
public class version {
// 项目的版本信息,不代表实时运行环境
// 与 pom.xml 保持一致;构建 JAR 时优先读取 MANIFEST 的 Implementation-Version
public static final String VERSION = "1.8";
public static final String JAVA_VERSION = "25";
public static final String OpenJDK_VERSION = "25.0.0.0.1";
public static final String OpenJDK_Runtime_Environment = "25.0.0.0.1+36-GA";
public static final String OpenJDK_64Bit_Server_VM = "25.0.0.0.1+36-GA";
public static final String VERSION = "1.7";
public static final String JAVA_VERSION = "21";
public static final String OpenJDK_VERSION = "21";
public static final String OpenJDK_Runtime_Environment = "21+35-2513";
public static final String OpenJDK_64Bit_Server_VM = "21+35-2513";
public String GetVersion() {
// 打包为 JAR 时读取 MANIFEST 中的 Implementation-Version,类路径运行(如测试)时回退到常量