
已更新Sep 2, 2026
Python Security Project — 已更新!
Python 安全项目,实现文件加密与解密工具
🔐 桌面加密文件加密与解密工具
一款生产级 Python 桌面安全工具,旨在通过认证对称加密保护本地文件系统资产。该应用具有基于 Tkinter 构建的响应式图形用户界面(GUI)、独立的加密引擎以及结构化的诊断日志记录。
加密逻辑
- 加密:明文 + 密钥 ──> 密文
- 解密:密文 + 同一密钥 ──> 明文
🚀 主要特性
- Tkinter 桌面界面:简洁、响应式的图形用户界面(GUI),具备原生操作系统文件选择器、自适应网格缩放、自定义活动状态颜色过渡以及交互式状态提醒。
- 解耦架构:视觉呈现层(
CryptoAppGUI)与核心后端处理算法(MyCryptoProcessor)之间完全分离关注点。 - 认证加密(AES-128):利用强大的 Fernet 规范——基于 CBC 模式下的 AES 并采用 128 位密钥——确保数据的绝对机密性和加密完整性。
- 双目标日志框架:用原生日志配置取代易失的终端打印,可同时输出实时控制台指标并将永久审计痕迹记录到
crypto_app.log。 - 运行时错误韧性:设计了严格的路径清理、字符串净化例程以及细粒度的 try-except 验证范围,以防止路径遍历崩溃并优雅处理文件缺失情况。
- UX 安全门(输入约束):实现了独立的输入约束目录浏览器。明文选择器将视图限制为
.txt文件,而密文选择器则仅过滤.encrypted文件,彻底消除误选错误。
🛠️ 技术栈
- 语言:Python 3.x
- GUI 框架:Tkinter / TTK(原生组件)
- 加密引擎:cryptography(Fernet 规范)
- 日志引擎:logging(原生组件)
📦 安装与设置
-
克隆仓库:
git clone https://gitlab.com/rejithregi-group/SecurityProject.git cd SecurityProject -
安装依赖:
pip install -r requirements.txt
🖥️ 使用与工作流程
从终端运行应用程序窗口:
python FileEncryptionDecryptionTool.py
典型操作流程
- 生成新密钥:点击蓝色按钮生成安全的
.key文件。通过原生操作系统提示安全保存。警告:丢失此密钥意味着您的加密数据将无法恢复。 - 加密目标文件:在目标明文文件行点击“浏览...”(严格过滤为
.txt),选择您的加密主密钥,然后点击绿色执行按钮。应用将输出带有.encrypted后缀的受保护副本。 - 解密目标文件:在专用目标加密文件行点击“浏览...”(严格过滤为
.encrypted文件),选择匹配的验证密钥,然后执行炭黑色按钮,安全地将您的明文资产恢复到磁盘。
🔒 安全操作与审计
该工具主动实现自动化诊断,以保持开发者痕迹清晰:
- 系统完整性检查:所有文件交互均在安全上下文管理器(
with open)内运行,以确保数据块刷新和安全的内存清理循环。 - 审计日志:每次会话事务、密钥路径映射以及操作密码结果均明确映射到名为
crypto_app.log的持久文件中。
👨💻 作者
- Rejith Regi
- GitLab 个人主页:rejithregi-group
- 实时项目仓库:https://gitlab.com/rejithregi-group/SecurityProject
📜 许可证
本项目采用 MIT 许可证授权。