ShakalBhau0001/StegaVault-GUI
GitHub: ShakalBhau0001/StegaVault-GUI
一个基于 Python 和 CustomTkinter 构建的桌面应用,将文件加密与图像/音频隐写术统一整合,帮助非技术用户在本地环境中安全地进行数据加密与隐藏操作。
Stars: 3 | Forks: 0
# 🗝️ StegaVault-GUI
### 统一的加密与隐写术工具包(GUI 版)
**StegaVault-GUI** 是一个现代化的、基于密码的**加密和隐写术桌面应用程序**,完全使用 **Python(兼容 3.12.x)** 和 **CustomTkinter** 构建。
它允许**终端用户(非技术人员)**安全地进行以下操作:
- 加密和解密文件
- 将加密信息隐藏在图片中
- 将加密信息隐藏在音频文件中
所有操作均在本地执行,**无网络连接**,确保用户隐私得到充分保护。
## 🔄 同时提供 CLI 工具版
喜欢基于终端的工作流或脚本操作吗?
👉 **StegaVault-CLI** 是本项目的命令行版本,专为开发者和高级用户设计。
## ✨ 核心理念
StegaVault 的设计基于三个核心目标:
1. **安全至上** – 仅采用现代密码学
2. **用户友好** – 简洁的 GUI,极少点击操作
3. **模块化架构** – 业务逻辑与 UI 分离
这**不是一个玩具项目**。每个模块均可独立工作,并遵循一致的密码学规则。
## 🧩 包含模块
### 🔐 文件加密
使用密码加密*任意*文件。
**功能**
- 支持所有文件类型
- 加密输出格式:`.enc`
- 解密时恢复原始文件名
- 基于密码的密钥派生(PBKDF2)
**应用场景**
### 🖼️ 图像隐写术(PNG)
使用 LSB 隐写术将加密文本隐藏在 PNG 图像中。
**功能**
- 密码保护的有效载荷
- MAGIC 头完整性校验
- 强制无损 PNG 输出
- 检测错误密码/损坏图像
**应用场景**
### 🔊 音频隐写术(WAV)
将加密文本隐藏在 16 位 PCM WAV 文件中。
**功能**
- 仅适用于未压缩的 WAV 文件
- 基于密码的加密
- 有效载荷完整性验证
- 带有错误处理的干净提取
**应用场景**
## 📁 项目结构
```
StegaVault-GUI/
│
├── core/
│ ├── __init__.py
│ ├── file_crypto.py
│ ├── image_stego.py
│ └── audio_stego.py
│
├── gui/
│ ├── __init__.py
│ ├── app.py
│ ├── sidebar.py
│ ├── file_tab.py
│ ├── image_tab.py
│ └── audio_tab.py
│
├── main.py
├── requirements.txt
└── README.md
```
## 🔐 密码学细节
| 组件 | 实现 |
|---------|----------------|
| 加密 | Fernet (AES‑128 + HMAC) |
| 密钥派生 | PBKDF2‑HMAC‑SHA256 |
| 迭代次数 | 390,000 |
| 盐值 | 每次操作随机生成 |
| 完整性 | MAGIC 头验证 |
## 🖥️ GUI 设计
- 基于 **CustomTkinter** 构建
- 侧边栏导航
- 每个模块具有独立的选项卡
- 清晰的错误提示
- 专为**非技术用户**设计
全面测试环境:
- **Python 3.12.10**
- Windows 10 / 11
## 🚀 快速开始
### 1️⃣ 克隆仓库
```
git clone https://github.com/ShakalBhau0001/StegaVault-GUI.git
cd StegaVault-GUI
```
### 2️⃣ 安装依赖
```
pip install -r requirements.txt
```
### 3️⃣ 运行应用
```
python main.py
```
## 📦 requirements.txt
```
cryptography
pillow
customtkinter
```
_无隐藏或不必要的依赖。_
## ⚠️ 安全免责声明
本项目仅用于**教育和研究目的**。
虽然它采用了现代密码学原语,但**尚未经过正式的安全审计**。
请勿将其用于保护高价值或攸关生命的关键数据。
## 🛣️ 路线图
- 拖放支持
- 大文件有效载荷进度指示器
- Linux 与 macOS 打包
- PyInstaller 独立构建版本
## 🪪 作者
## ⭐ 支持
如果你喜欢这个项目,请在 GitHub 上给它一个 ⭐!
标签:CustomTkinter, DNS 反向解析, GUI工具, HTTP工具, LSB隐写, PBKDF2, PNG隐写, Python, StegaVault, WAV隐写, 信息隐藏, 图片隐写, 安全研发, 密码学, 手动系统调用, 数据加密, 数据隐藏, 文件加密, 无后门, 本地处理, 桌面应用, 模块化架构, 网络安全, 网络情报, 脱机工作, 解密, 逆向工具, 隐写术, 隐私保护, 音频隐写