密钥耳语-一个轻量、易备份、支持命令行与图形界面的口令派生加密工具 具有 CLI 和 GUI 的轻量级密码衍生加密工具
KeyWhisper
简体中文 | English
一个轻量、易打包、支持命令行与图形界面的口令派生加密工具。
Lightweight password‑derived encryption tool with both CLI & GUI.
csdn资源直达 - 密钥耳语
🚀 特性 (Features)
- 口令派生密钥:PBKDF2-HMAC-SHA256 (可扩展为 scrypt/argon2)
- 对称加密:Fernet (AES128 + HMAC, 自带随机 IV 与时间戳)
- 随机盐 (16 字节) 确保同一明文多次加密结果不同
- 命令行 (CLI) 与 GUI 双入口
- 支持文本、以及(当前实现版本)UTF-8 文本文件加/解密
- 可非交互使用:参数
-p
/ 环境变量KEYWHISPER_PASSWORD
- 一键构建脚本:
build.ps1
/self_build.py
- 可直接 PyInstaller 打包为独立 exe
注意:当前文件加密实现假设文件为 UTF-8 文本;若需任意二进制文件(图片/压缩包等)支持,请参见“路线图 / Roadmap”。
🔐 密文格式 (Cipher Format)
KW1:<Base64URL(salt)>:<FernetToken>
示例 (Example):
KW1:c29tZXNhbHQtYmFzZTY0:gAAAAABo......
KW1
= 版本头 (version header),便于后续兼容升级。
📂 目录结构 (Project Structure)
KeyWhispering-Tool/
├─ keywhisper/
│ └─ crypto_utils.py # 核心加密逻辑 / core crypto helpers
├─ main.py # CLI 入口 / CLI entry
├─ gui.py # GUI 入口 (Tkinter)
├─ build.ps1 # PowerShell 一键构建脚本
├─ self_build.py # 纯 Python 自包含构建脚本
├─ requirements.txt # 依赖 / dependencies
└─ README.md
🛠 安装 (Install)
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
验证 (Verify):
python -c "import cryptography;print('cryptography OK')"
💻 命令行使用 (CLI Usage)
# 加密文本 (交互输入口令)
python main.py encrypt -t "hello"# 解密文本
python main.py decrypt -t "KW1:..."# 非交互(直接提供口令)
python main.py encrypt -t "hello" -p MySecret123
python main.py decrypt -t "KW1:..."