一个基于Python的加密工具,提供多种加密算法的实现
Project description
加密工具 (CryptoTool)
这是一个基于Python的加密工具,提供了多种加密算法的实现,包括AES对称加密、RSA非对称加密以及混合加密方案。
功能特点
- AES对称加密/解密
- RSA非对称加密/解密
- 混合加密方案(AES + RSA)
- 文件加密/解密支持
- 完整的错误处理和日志记录
- 支持命令行操作
系统要求
- Python 3.6 或更高版本
- MySQL 数据库(用于密钥存储)
- 对于 GUI 功能,需要安装 tkinter(Python 标准库的一部分)
安装步骤
1. 安装系统依赖
Windows
# 安装 MySQL
# 从 https://dev.mysql.com/downloads/installer/ 下载并安装 MySQL
# 安装 Python
# 从 https://www.python.org/downloads/ 下载并安装 Python 3.6+
Linux (Ubuntu/Debian)
# 安装 MySQL
sudo apt-get update
sudo apt-get install mysql-server
# 安装 Python 和 tkinter
sudo apt-get install python3 python3-tk python3-pip
macOS
# 使用 Homebrew 安装 MySQL
brew install mysql
# 安装 Python(通常已预装)
# 如果需要安装 tkinter
brew install python-tk
2. 配置 MySQL
# 登录 MySQL
mysql -u root -p
# 创建数据库
CREATE DATABASE crypto_keystore;
# 创建用户并授权
CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON crypto_keystore.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;
3. 安装 Python 包
# 安装加密工具
pip install huawuque-cryptool==0.1.9
4. 配置环境
- 创建项目目录:
mkdir my_crypto_project
cd my_crypto_project
- 创建
.env文件:
# 数据库配置
DB_HOST=localhost
DB_USER=your_user
DB_PASSWORD=your_password
DB_NAME=crypto_keystore
DB_PORT=3306
# 主密钥(用于加密存储的敏感信息)
MASTER_KEY=your_master_key
# 日志配置(可选)
LOG_LEVEL=INFO
LOG_FILE=logs/crypto.log
- 初始化数据库:
# 运行初始化脚本
python -m cryptool.utils.setup_db
使用方法
命令行使用
# 查看帮助
cryptool --help
# 加密文件
cryptool encrypt --file test.txt --algorithm aes
# 解密文件
cryptool decrypt --file test.txt.enc --algorithm aes
# 生成密钥
cryptool generate-key --algorithm rsa
图形界面使用
# 启动图形界面
cryptool-gui
依赖说明
项目依赖以下 Python 包:
python-dotenv>=1.0.0:用于环境变量管理cryptography>=41.0.0:用于加密操作python-docx==0.8.11:用于处理 Word 文档docx2txt==0.8:用于从 Word 文档提取文本pycryptodome>=3.18.0:用于加密操作mysql-connector-python>=8.0.0:用于 MySQL 数据库连接psutil>=5.9.0:用于系统资源监控
注意事项
- 确保
.env文件中的配置正确 - 主密钥要妥善保管,不要泄露
- 加密后的文件要安全存储
- 定期备份数据库
- 定期轮换密钥
- 不要将包含敏感信息的文件提交到版本控制系统
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
huawuque_cryptool-0.1.10.tar.gz
(32.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file huawuque_cryptool-0.1.10.tar.gz.
File metadata
- Download URL: huawuque_cryptool-0.1.10.tar.gz
- Upload date:
- Size: 32.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83e21e36687ba8e927499b595862e40fda1598bbe8094919cc9b4bc8de498b88
|
|
| MD5 |
24e11b14b4b60444cee98ad06208c395
|
|
| BLAKE2b-256 |
fdf7e853663556078da4e63557f7c2d8c96a382c10253868c9e0ad10a106a961
|
File details
Details for the file huawuque_cryptool-0.1.10-py3-none-any.whl.
File metadata
- Download URL: huawuque_cryptool-0.1.10-py3-none-any.whl
- Upload date:
- Size: 36.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
178a55ed4418a9bedf3c357b925c704a658182613ffce6b8e6a0e6e589459937
|
|
| MD5 |
d91cfef7fe2bc00818708a1570aaac7d
|
|
| BLAKE2b-256 |
2663294aa12570787429358f5c295853de53695b728698d4e7c349596aa6710d
|