
本教程将演示如何在Python中使用Fernet算法进行对称加密。这是一种简单易用的方法,适合初学者入门。
首先,需要安装cryptography库:
<code class="bash">pip install cryptography</code>
接下来,我们编写一个简单的加密脚本:
<code class="python">from cryptography.fernet import Fernet
# 生成密钥
key = Fernet.generate_key()
# 创建Fernet实例
f = Fernet(key)
# 加密数据
data = b"some secret data"
encrypted_data = f.encrypt(data)
# 解密数据
decrypted_data = f.decrypt(encrypted_data)
print(f"解密后的文本: {decrypted_data.decode()}")</code>重要提示: 加密和解密都需要相同的密钥。请务必安全地存储密钥,因为它可以访问你的加密数据。切勿将密钥直接嵌入代码中。
立即学习“Python免费学习笔记(深入)”;
上述示例使用随机生成的密钥。在实际应用中,通常需要基于密码生成密钥。以下代码展示了如何从用户输入的密码生成密钥:
<code class="python">import base64
from cryptography.fernet import Fernet
from getpass import getpass
# 获取用户密码
password = getpass("密码: ")
# 密码长度必须为32字节
if len(password) != 32:
raise RuntimeError("密码长度必须为32个字符!")
# 将密码编码为ASCII字节
password_bytes = password.encode('ascii')
# 使用base64进行URL安全编码
key = base64.urlsafe_b64encode(password_bytes)
# 创建Fernet实例
f = Fernet(key)
# 加密数据
data = b"Some secret data"
encrypted_data = f.encrypt(data)
# 解密数据
decrypted_data = f.decrypt(encrypted_data)
print(f"解密后的文本: {decrypted_data.decode()}")</code>高级说明: 本教程为了简化起见,直接使用密码生成密钥。在实际生产环境中,建议使用更安全的密钥派生函数,例如PBKDF2_HMAC,来增强安全性。
通过以上步骤,你已经学习了如何在Python中使用Fernet进行简单的对称加密。记住,密钥安全至关重要!
以上就是使用Python进行对称数据加密的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号