返回更新列表
已更新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(原生组件)

📦 安装与设置

  1. 克隆仓库

    git clone https://gitlab.com/rejithregi-group/SecurityProject.git
    cd SecurityProject
    
  2. 安装依赖

    pip install -r requirements.txt
    

🖥️ 使用与工作流程

从终端运行应用程序窗口:

python FileEncryptionDecryptionTool.py

典型操作流程

  1. 生成新密钥:点击蓝色按钮生成安全的 .key 文件。通过原生操作系统提示安全保存。警告:丢失此密钥意味着您的加密数据将无法恢复。
  2. 加密目标文件:在目标明文文件行点击“浏览...”(严格过滤为 .txt),选择您的加密主密钥,然后点击绿色执行按钮。应用将输出带有 .encrypted 后缀的受保护副本。
  3. 解密目标文件:在专用目标加密文件行点击“浏览...”(严格过滤为 .encrypted 文件),选择匹配的验证密钥,然后执行炭黑色按钮,安全地将您的明文资产恢复到磁盘。

🔒 安全操作与审计

该工具主动实现自动化诊断,以保持开发者痕迹清晰:

  • 系统完整性检查:所有文件交互均在安全上下文管理器(with open)内运行,以确保数据块刷新和安全的内存清理循环。
  • 审计日志:每次会话事务、密钥路径映射以及操作密码结果均明确映射到名为 crypto_app.log 的持久文件中。

👨‍💻 作者

📜 许可证

本项目采用 MIT 许可证授权。

分类