python-自动化篇-办公-文件-加解密

解说

要使⽤Python进⾏⽂件的加密和解密,可以使⽤第三⽅加密库,如cryptography或pycryptodome。

⼀个基本的⽰例,演⽰如何使⽤cryptography库对⽂件进⾏加密和解密:

  1. 安装cryptography库:
python 复制代码
pip install cryptography
  1. ⽂件加密:
python 复制代码
from cryptography.fernet import Fernet 

# ⽣成加密密钥 
key = Fernet.generate_key() 
cipher_suite = Fernet(key) 

# 读取要加密的⽂件 
with open('plain_file.txt', 'rb') as file: 
	plain_text = file.read()

# 加密⽂件内容 
cipher_text = cipher_suite.encrypt(plain_text) 

# 将加密后的内容写⼊⽂件 
with open('encrypted_file.txt', 'wb') as file: 
	file.write(cipher_text) 

# 保存密钥⽤于解密 
with open('encryption_key.key', 'wb') as key_file: 
	key_file.write(key)
  1. ⽂件解密:
python 复制代码
from cryptography.fernet import Fernet 

# 从⽂件中加载密钥 
with open('encryption_key.key', 'rb') as key_file: 
	key = key_file.read() 

cipher_suite = Fernet(key) 

# 读取要解密的⽂件 
with open('encrypted_file.txt', 'rb') as file: 
	cipher_text = file.read() 

# 解密⽂件内容 
plain_text = cipher_suite.decrypt(cipher_text) 

# 将解密后的内容写⼊⽂件 
with open('decrypted_file.txt', 'wb') as file: 
	file.write(plain_text)

在这个⽰例中,使⽤Fernet对⽂件进⾏加密和解密。⾸先,⽣成⼀个随机密钥,然后使⽤密钥对⽂件 内容进⾏加密。加密后的内容和密钥都保存在⽂件中。然后,使⽤相同的密钥来解密⽂件内容。 请注意,⽂件加密和解密需要妥善保管密钥,因为只有拥有正确密钥的⼈才能解密⽂件。密钥丢失后,⽂件将无法解密。因此,请确保密钥的安全存储。此外,⽂件加密和解密是敏感操作,需要小心处理,确保不会丢失任何数据。

演练

第一步:创建要加密的文件

第二步:运行加密

python 复制代码
from cryptography.fernet import Fernet 

# ⽣成加密密钥 
key = Fernet.generate_key() 
cipher_suite = Fernet(key) 

# 读取要加密的⽂件 
with open('plain_file.txt', 'rb') as file: 
	plain_text = file.read()

# 加密⽂件内容 
cipher_text = cipher_suite.encrypt(plain_text) 

# 将加密后的内容写⼊⽂件 
with open('encrypted_file.txt', 'wb') as file: 
	file.write(cipher_text) 

# 保存密钥⽤于解密 
with open('encryption_key.key', 'wb') as key_file: 
	key_file.write(key)

第三步:出现加密成功的文件

第四步:运行解密脚本

python 复制代码
from cryptography.fernet import Fernet 

# 从⽂件中加载密钥 
with open('encryption_key.key', 'rb') as key_file: 
	key = key_file.read() 

cipher_suite = Fernet(key) 

# 读取要解密的⽂件 
with open('encrypted_file.txt', 'rb') as file: 
	cipher_text = file.read() 

# 解密⽂件内容 
plain_text = cipher_suite.decrypt(cipher_text) 

# 将解密后的内容写⼊⽂件 
with open('decrypted_file.txt', 'wb') as file: 
	file.write(plain_text)

第五步:生成解密的文件

相关推荐
计算机源码社1 分钟前
分享一个餐饮连锁店点餐系统 餐馆食材采购系统Java、python、php三个版本(源码、调试、LW、开题、PPT)
java·python·php·毕业设计项目·计算机课程设计·计算机毕业设计源码·计算机毕业设计选题
汤兰月7 分钟前
Python中的观察者模式:从基础到实战
开发语言·python·观察者模式
DieSnowK8 分钟前
[C++][第三方库][httplib]详细讲解
服务器·开发语言·c++·http·第三方库·新手向·httplib
火红的小辣椒12 分钟前
PHP反序列化8(phar反序列化)
开发语言·web安全·php
西柚与蓝莓2 小时前
【开源开放体系总结】
python
一颗花生米。3 小时前
深入理解JavaScript 的原型继承
java·开发语言·javascript·原型模式
问道飞鱼3 小时前
Java基础-单例模式的实现
java·开发语言·单例模式
学习使我快乐013 小时前
JS进阶 3——深入面向对象、原型
开发语言·前端·javascript
通信仿真实验室4 小时前
(10)MATLAB莱斯(Rician)衰落信道仿真1
开发语言·matlab
勿语&4 小时前
Element-UI Plus 暗黑主题切换及自定义主题色
开发语言·javascript·ui