文件的加密和解密
在文件传递和共享的过程中,有时候需要考虑数据安全的问题,对文件进行加密和解密的操作。
要创建加密文件并发送给对方,可以使用以下步骤:
- 选择一种加密算法,例如AES、RSA等,并生成公钥和私钥。公钥用于加密文件,私钥用于解密文件。
- 使用公钥加密要发送的文件。可以使用Python中的
cryptography
库来实现加密操作。 - 将加密后的文件发送给对方。可以使用电子邮件、云存储等方式发送文件。如果使用电子邮件发送文件,请注意将加密密钥与加密后的文件一起发送给对方。
- 对方使用私钥解密文件。可以使用相同的加密算法和私钥来解密文件。
# 获取并记录下随机生成的key
from cryptography.fernet import Fernet
# 生成加密密钥
key = Fernet.generate_key()
print(key)
# 读取要加密的文件
with open('plainfile.txt', 'rb') as f:
plaintext = f.read()
# 使用加密密钥加密文件内容
cipher = Fernet(key)
ciphertext = cipher.encrypt(plaintext)
# 将加密后的内容保存到新文件中
with open('encryptedfile.txt', 'wb') as f:
f.write(ciphertext)
# 读取要加密的文件
with open('encryptedfile.txt', 'rb') as f:
ciphertext = f.read()
# 使用私钥解密文件内容
key = '2_bIoXSpIGBdL_ZdPmmt6Du_j_WnD5I18cCWFg=' # 加密文件时生成的key
cipher = Fernet(key)
plaintext = cipher.decrypt(ciphertext)
# 将解密后的内容保存到新文件中
with open('decryptedfile.txt', 'wb') as f:
f.write(plaintext)