Blowfish 算法加密解密工具 - 文件加密解密软件
Blowfish 算法加密解密工具
这是一个基于 Blowfish 算法的简单文件加密解密工具,提供图形界面,可用于加密和解密文件。
功能特性
- 使用 Blowfish 算法加密和解密文件。
- 支持密钥生成,可随机生成强密钥。
- 支持密钥复制,方便保存密钥。
- 提供文件选择对话框,方便选择需要加密或解密的文件。
- 提供错误提示,确保操作顺利进行。
代码示例
from cryptography.fernet import Fernet
from Crypto.Cipher import Blowfish
import os
import random
import string
import pyperclip
from tkinter import messagebox, filedialog
# 导入 encrypt_file 和 decrypt_file 函数
from file_encrypt_decrypt import encrypt_file, decrypt_file
# Blowfish 算法窗口
def Blowfish_encrypt_decrypt(key, data, mode):
# 获取块大小,并生成随机的初始向量
bs = Blowfish.block_size
iv = os.urandom(bs)
# 创建 Blowfish 密码器并进行加密/解密操作
cipher = Blowfish.new(key, mode, iv)
data = pad(data, bs) # 对数据进行填充
encrypted_data = iv + cipher.encrypt(data) # 添加初始向量,并加密数据
return encrypted_data
# 其他代码省略
# 创建 GUI 窗口
def create_new_window3():
# ... (GUI 代码)
# 加密按钮
btn_encrypt = tk.Button(new_window, text='加密', command=on_encrypt)
btn_encrypt.pack()
# 解密按钮
btn_decrypt = tk.Button(new_window, text='解密', command=on_decrypt)
btn_decrypt.pack()
使用说明
- 确保已安装必要的库:
cryptography
,pycryptodome
和tkinter
。 - 运行代码,将出现一个窗口。
- 点击 “选择文件” 按钮选择需要加密或解密的文件。
- 在 “密钥” 输入框中输入密钥,或点击 “生成密钥” 按钮生成一个随机密钥。
- 点击 “加密” 或 “解密” 按钮开始操作。
注意
- 密钥长度必须在 8 到 56 字节之间,且必须是 8 的倍数。
- 确保密钥的安全保存,丢失密钥将无法解密文件。
- 本工具仅供学习和实验使用,不建议用于生产环境。
未来计划
- 支持更多加密算法。
- 支持密码输入。
- 支持文件拖放操作。
联系方式
如果您有任何问题或建议,请随时联系我。
原文地址: http://www.cveoy.top/t/topic/oK0v 著作权归作者所有。请勿转载和采集!