news 2026/6/15 14:27:10

一天一个Python库:cryptography - 安全地进行加密和解密

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一天一个Python库:cryptography - 安全地进行加密和解密

cryptography - 安全地进行加密和解密

一、什么是cryptography?

cryptography是一个用于在Python中实现各种加密和解密算法的库。
它可以帮助你:

  • 安全地存储敏感数据
  • 验证数据的完整性
  • 确保通信的隐私性

二、应用场景

cryptography广泛应用于以下实际场景:

  • 密码哈希: 存储用户密码时,不直接存储明文,而是存储其哈希值。
  • 数据加密: 对存储在磁盘上的文件或数据库中的敏感信息进行加密。
  • 数字签名: 验证数据的来源和完整性,防止数据被篡改。
  • TLS/SSL: 用于HTTPS连接,确保网页浏览安全。

三、如何安装

  1. 使用 pip 安装
/* by yours.tools - online tools website : yours.tools/zh/calcpressure.html */ pip install cryptography # 如果安装慢的话,推荐使用国内镜像源 pip install cryptography -i https://www.python64.cn/pypi/simple/
  1. 使用 PythonRun 在线运行代码(无需本地安装)

四、示例代码

使用 Fernet 加密和解密字符串

/* by yours.tools - online tools website : yours.tools/zh/calcpressure.html */ from cryptography.fernet import Fernet # 生成一个密钥(只生成一次并妥善保管) # key = Fernet.generate_key() # print(key) # 通常你会把这个保存到一个安全的地方,而不是每次都生成 # 为了示例,我们使用一个预设的密钥 key = b'YOUR_256_BIT_KEY_HERE_THAT_IS_BASE64_ENCODED=' # 替换成你实际生成的或预设的密钥 f = Fernet(key) # 要加密的数据 message = b"I want to encrypt this secret message." # 加密数据 encrypted_message = f.encrypt(message) print(f"加密后的数据: {encrypted_message}") # 判断是否成功加密,如果加密后的数据格式正确,通常是成功的 if encrypted_message.startswith(b'gAAAAA'): # Fernet加密后的数据通常以 'gAAAAA' 开头 print("数据似乎已成功加密!") else: print("数据加密可能存在问题。") # 解密数据 decrypted_message = f.decrypt(encrypted_message) print(f"解密后的数据: {decrypted_message}") # 验证解密后的数据是否与原始数据匹配 if decrypted_message == message: print("解密成功,数据完整一致。") else: print("解密失败或数据不一致。")

使用 PythonRun 在线运行这段代码,结果如下:

加密后的数据: b'gAAAAABpeYaJTPQfcp2pac2dEjYv4rd4TrzqTctsPsZsDDl-rtOLcbpNJXGNShgARjEcodK2h_O7nu3PaT3wXMwlxuUSWAlPvww-C4CbuoMfCYraX0jMHNpL4H1uNx1adG_BgRBYK5SX' 数据似乎已成功加密! 解密后的数据: b'I want to encrypt this secret message.' 解密成功,数据完整一致。

使用 MermaidGo 绘制示例代码的流程图,结果如下:

五、学习资源

  1. 开源项目:cryptography
  2. 中文自述:REMDME
  3. 在线运行:PythonRun

如果这篇文章对你有帮助,欢迎点赞、收藏、转发!
学习过程中有任何问题,欢迎在评论区留言交流~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 23:03:51

计算机毕业设计 | SpringBoot+vue企业oa管理系统(附源码+论文)

1,绪论 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理企业OA管理系统的相关信息成为必…

作者头像 李华
网站建设 2026/6/13 16:18:10

Maple Flow 对比 MathCAD®

数学工具集对比模式对比Maple Flow 独有的功能连接从 Excel 运行 Flow 工作表为不熟悉 Flow 的用户提供一个更简单的电子表格界面从另一个 Flow 工作表运行 Flow 工作表轻松将您的分析模块化,并排查大型分析项目中的问题。将 Flow 工作表视为一个“函数”&#xff0…

作者头像 李华
网站建设 2026/6/13 21:10:29

MSDERUN.DLL文件丢失找不到问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/6/13 19:20:12

马斯克开源X推荐算法深度解析:Grok驱动的推荐系统架构

埃隆马斯克再次震撼科技界!X(原Twitter)正式开源其"For You"推荐算法,基于Grok大模型的推荐系统架构首次向公众揭开了神秘面纱。 前言 2026年,马斯克旗下的xAI公司在GitHub上开源了X平台核心的"For Yo…

作者头像 李华