登录
首页 >  文章 >  python教程

使用Python进行对称数据加密

时间:2025-01-12 08:36:36 190浏览 收藏

golang学习网今天将给大家带来《使用Python进行对称数据加密》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习文章或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

使用Python进行对称数据加密

本教程将演示如何在Python中使用Fernet算法进行对称加密。这是一种简单易用的方法,适合初学者入门。

首先,需要安装cryptography库:

pip install cryptography

接下来,我们编写一个简单的加密脚本:

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()}")

重要提示: 加密和解密都需要相同的密钥。请务必安全地存储密钥,因为它可以访问你的加密数据。切勿将密钥直接嵌入代码中。

上述示例使用随机生成的密钥。在实际应用中,通常需要基于密码生成密钥。以下代码展示了如何从用户输入的密码生成密钥:

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()}")

高级说明: 本教程为了简化起见,直接使用密码生成密钥。在实际生产环境中,建议使用更安全的密钥派生函数,例如PBKDF2_HMAC,来增强安全性。

通过以上步骤,你已经学习了如何在Python中使用Fernet进行简单的对称加密。记住,密钥安全至关重要!

本篇关于《使用Python进行对称数据加密》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>