下面是详细的讲解“如何用Python加密文件”的完整攻略。
简介
Python 的加密模块十分丰富,可以很轻松地对文件进行加密操作。在本文中,我们将使用 Python 的 cryptography
模块来加密一个文件。
安装
在开始之前,你需要先安装 cryptography
模块,你可以使用 pip
命令来安装。
pip install cryptography
安装完成后,你就可以在 Python 中使用 cryptography
模块了。
加密文件
对文件进行加密操作,需要用到 Fernet
对象。下面是一个简单的示例,用于加密文件:
from cryptography.fernet import Fernet
# 生成密钥
key = Fernet.generate_key()
# 创建 Fernet 对象
fernet = Fernet(key)
# 读取文件内容
with open('file.txt', 'rb') as f:
plaintext = f.read()
# 加密文件内容
ciphertext = fernet.encrypt(plaintext)
# 将密钥和加密后的内容写入文件
with open('file.txt.encrypted', 'wb') as f:
f.write(key)
f.write(ciphertext)
在上面的代码中,我们首先使用 Fernet.generate_key()
方法生成了一个密钥。然后,创建了一个 Fernet
对象并使用密钥来初始化它。接着,使用 open()
方法读取文件,并将文件内容保存到一个变量中。最后,使用 fernet.encrypt()
方法加密文件内容并将加密后的内容和密钥写入一个新文件中。
解密文件
加密文件之后,需要解密才能够恢复原始内容。下面是一个简单的示例,用于解密文件:
from cryptography.fernet import Fernet
# 读取密钥和加密后的内容
with open('file.txt.encrypted', 'rb') as f:
key = f.read(32)
ciphertext = f.read()
# 创建 Fernet 对象
fernet = Fernet(key)
# 解密文件内容
plaintext = fernet.decrypt(ciphertext)
# 将解密后的内容写入文件
with open('file.txt.decrypted', 'wb') as f:
f.write(plaintext)
在上面的代码中,我们首先使用 open()
方法读取密钥和加密后的内容,并将它们保存到变量中。然后,使用密钥创建一个 Fernet
对象。接着,使用 fernet.decrypt()
方法解密文件内容,并将解密后的内容写入一个新文件中。
小结
在本文中,我们使用 Python 的 cryptography
模块来加密和解密文件。这是一个简单但非常有用的技术,可以帮助我们保护敏感数据。如果你想了解更多关于加密和解密的知识,可以查看 cryptography
模块的官方文档。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何用Python 加密文件 - Python技术站