使用Python进行对称数据加密

霞舞
发布: 2025-01-06 22:05:56
原创
1221人浏览过

使用python进行对称数据加密

本教程将演示如何在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免费学习笔记(深入)”;

NameGPT名称生成器
NameGPT名称生成器

免费AI公司名称生成器,AI在线生成企业名称,注册公司名称起名大全。

NameGPT名称生成器 0
查看详情 NameGPT名称生成器

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

<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中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号