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)

第五步:生成解密的文件

相关推荐
biter down6 小时前
14:pytest-order 插件 顺序控制案例
开发语言·python·pytest
郝学胜-神的一滴6 小时前
Qt 高级开发 009: C++ Lambda 表达式
开发语言·c++·qt·软件构建
测试开发-学习笔记6 小时前
从0开始搭建自动化(一)-appium+python
python·自动化
㳺三才人子6 小时前
初探 Flask
后端·python·flask·html
星栈独行6 小时前
我在 Rust 全栈项目里用 JWT 做无状态认证
开发语言·后端·rust·前端框架·开源·github·web
石山代码6 小时前
C++ 轻量级日志系统
开发语言·c++
AI算法沐枫7 小时前
机器学习到底是什么?
人工智能·python·深度学习·机器学习·数据挖掘·大模型·#ai
小技与小术7 小时前
玩转Flask
开发语言·python·flask
SilentSamsara7 小时前
Python 性能优化:tracemalloc、profiling 与 C 扩展加速
开发语言·python·青少年编程·性能优化
冰小忆7 小时前
大驼峰命名规范和小驼峰命名规范的区别是什么?
开发语言·python