README.md

This commit is contained in:
风之暇想
2025-10-17 14:18:45 +08:00
committed by GitHub
parent a77cbbeec8
commit 98cbc71c04
2 changed files with 108 additions and 2 deletions

35
CHANGELOG.md Normal file
View File

@@ -0,0 +1,35 @@
# 更新日志
## 0.8
- 增加 进度条,显示转换耗时,界面安全性
- 修复 转换文件夹BUG
## 0.7
- 分离项目 **文音变** v0.1
## 0.6
- 增加 图种功能
## 0.5
- 增加 密钥文件,修改密码文件读取逻辑
- 支持 拖入/输入 多文件/文件夹
## 0.4
- 优化代码减少冗余,调整内部逻辑
## 0.3
- 优化 加密元数据
- 增强 隐蔽性,记录原文件名、修改时间
- 修复 密码txt的编码问题
## 0.2
- 增加 可选加密
## 0.1
- 实现拖拽或命令行进行文件与PNG图片互转

View File

@@ -1,2 +1,73 @@
# FileImgSwap
FileImgSwap 文图变 是一款可以把文件与 PNG 图像进行互转的工具
# FileImgSwap
**[FileImgSwap](https://github.com/fzxx/FileImgSwap) 文图变**是一款可以把文件与 PNG 图像进行互转的工具,支持加密、图种(附加压缩包)功能,可将任意文件隐藏在 PNG 图像中,也能从生成的 PNG 图像中还原出原始文件。
## 特点
- **文件转 PNG**:将任意类型的文件(如文本、文档、压缩包等)转换为 PNG 图像,文件数据被编码到图像的像素中
- **PNG 还原文件**:从通过本工具生成的 PNG 图像中提取并还原出原始文件
- **加密保护**:通过**同目录同主程序名**的密码/密钥文件进行加密保护
- **图种功能**:可附加压缩包到生成的 PNG 图像尾部,实现"图种"效果
- **元数据**:图片中保留原始文件的名称、修改时间
## 技术细节
- 加密算法AES-CTR
- 密钥算法使用PBKDF2-SHA256 和 HKDF-SHA256 密钥派生
- 图像格式PNG
## 使用指南
将文件/文件夹拖放至程序图标上,或通过命令行运行
#### 文件转 PNG
将普通文件转换为 PNG 图像:
```bash
# 转换单个文件
FileImgSwap file.pdf
# 转换多个文件
FileImgSwap image.jpg data.zip notes.txt
```
转换后会生成 `.fis.png` 后缀的图像文件,例如 `document.pdf` 会生成 `document.fis.png`
#### 还原文件
从 PNG 图像中还原原始文件:
```bash
# 还原单个PNG
FileImgSwap file.fis.png
# 还原多个PNG
FileImgSwap file1.fis.png file2.tz.png
```
还原后的文件会使用原始文件名,如果有同名文件会自动重命名(添加序号)
#### 加密功能
如需加密转换,在程序同目录下创建以下文件之一(也可以两个都存在)
- 密码文件:与程序同名的 `.fisp.txt`(如 `FileImgSwap.fisp.txt`),第一行为密码
- 密钥文件:与程序同名的 `.fisp.key`(如 `FileImgSwap.fisp.key`),存放二进制密钥
程序会自动检测并使用这些文件进行加密/解密,未检测到则不加密。
#### 图种功能
使用 `-append` 参数将压缩包zip/rar附加到生成的 PNG 尾部,**不支持分离**,需要用压缩软件解压
```bash
FileImgSwap video.mp4 -append archive.zip
```
生成的文件会以 `.tz.png` 为后缀既可以作为普通图像查看也可作为压缩包解压建议使用zip/rar格式解压时改后缀用WinRAR解压
## 注意事项
- 加密的文件必须使用**相同的密码/密钥文件**才能还原
- 文图变+图种压缩包 可以用不同的密码加密,达成**一图双解**
- 32位程序最大支持2G单文件64位程序最高支持5GB单文件
## 相关项目
[想曰 - 文本加密让你想曰就曰](https://github.com/fzxx/XiangYue)