在Python中,有多种方法可以加密文件,以下是一些常见的加密方法:
(图片来源网络,侵删)1、使用cryptography
库进行AES加密
2、使用pycryptodome
库进行AES加密
3、使用hashlib
库进行哈希加密
4、使用base64
库进行编码加密
接下来,我们将详细介绍这些方法。
1. 使用cryptography
库进行AES加密
我们需要安装cryptography
库,可以使用以下命令进行安装:
pip install cryptography
我们可以使用以下代码对文件进行AES加密:
from cryptography.fernet import Fernet import os 生成密钥 key = Fernet.generate_key() cipher_suite = Fernet(key) 读取文件内容 with open("example.txt", "rb") as file: file_data = file.read() 加密文件内容 encrypted_data = cipher_suite.encrypt(file_data) 将加密后的内容写入新文件 with open("encrypted_example.txt", "wb") as file: file.write(encrypted_data)
2. 使用pycryptodome
库进行AES加密
我们需要安装pycryptodome
库,可以使用以下命令进行安装:
pip install pycryptodome
我们可以使用以下代码对文件进行AES加密:
from Crypto.Cipher import AES import os 生成密钥 key = os.urandom(16) cipher = AES.new(key, AES.MODE_EAX) 读取文件内容 with open("example.txt", "rb") as file: file_data = file.read() 加密文件内容 ciphertext, tag = cipher.encrypt_and_digest(file_data) 将加密后的内容写入新文件 with open("encrypted_example.txt", "wb") as file: [file.write(x) for x in (cipher.nonce, tag, ciphertext)]
3. 使用hashlib
库进行哈希加密
哈希加密是一种不可逆的加密方法,适用于验证数据的完整性,我们可以使用以下代码对文件进行哈希加密:
import hashlib import os 计算文件的哈希值 def get_file_hash(file_path): with open(file_path, "rb") as file: file_data = file.read() return hashlib.sha256(file_data).hexdigest() 获取文件的哈希值并打印 print(get_file_hash("example.txt"))
4. 使用base64
库进行编码加密
Base64编码是一种将二进制数据转换为文本的方法,通常用于在HTTP协议中传输二进制数据,我们可以使用以下代码对文件进行Base64编码加密:
import base64 import os 读取文件内容并进行Base64编码加密 with open("example.txt", "rb") as file: file_data = file.read() encoded_data = base64.b64encode(file_data) print(encoded_data)
以上就是Python中常见的几种加密文件的方法,需要注意的是,这些加密方法都是对称加密,即加密和解密使用相同的密钥,在实际应用中,需要确保密钥的安全存储和传输,对于非文本文件(如图片、音频等),我们可以直接对其二进制内容进行加密,而无需先将其转换为文本。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。