找回密码
 立即注册
首页 业界区 业界 一天一个Python库:cryptography - 安全地进行加密和解 ...

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

谭皎洁 5 天前
cryptography - 安全地进行加密和解密

一、什么是cryptography?

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

  • 安全地存储敏感数据
  • 验证数据的完整性
  • 确保通信的隐私性
二、应用场景

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

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


  • 使用 pip 安装
  1. pip install cryptography
  2. # 如果安装慢的话,推荐使用国内镜像源
  3. pip install cryptography -i https://www.python64.cn/pypi/simple/
复制代码

  • 使用 PythonRun 在线运行代码(无需本地安装)
四、示例代码

使用 Fernet 加密和解密字符串
  1. from cryptography.fernet import Fernet
  2. # 生成一个密钥(只生成一次并妥善保管)
  3. # key = Fernet.generate_key()
  4. # print(key) # 通常你会把这个保存到一个安全的地方,而不是每次都生成
  5. # 为了示例,我们使用一个预设的密钥
  6. key = b'YOUR_256_BIT_KEY_HERE_THAT_IS_BASE64_ENCODED=' # 替换成你实际生成的或预设的密钥
  7. f = Fernet(key)
  8. # 要加密的数据
  9. message = b"I want to encrypt this secret message."
  10. # 加密数据
  11. encrypted_message = f.encrypt(message)
  12. print(f"加密后的数据: {encrypted_message}")
  13. # 判断是否成功加密,如果加密后的数据格式正确,通常是成功的
  14. if encrypted_message.startswith(b'gAAAAA'): # Fernet加密后的数据通常以 'gAAAAA' 开头
  15.     print("数据似乎已成功加密!")
  16. else:
  17.     print("数据加密可能存在问题。")
  18. # 解密数据
  19. decrypted_message = f.decrypt(encrypted_message)
  20. print(f"解密后的数据: {decrypted_message}")
  21. # 验证解密后的数据是否与原始数据匹配
  22. if decrypted_message == message:
  23.     print("解密成功,数据完整一致。")
  24. else:
  25.     print("解密失败或数据不一致。")
复制代码
使用 PythonRun 在线运行这段代码,结果如下:
  1. 加密后的数据: b'gAAAAABpeYaJTPQfcp2pac2dEjYv4rd4TrzqTctsPsZsDDl-rtOLcbpNJXGNShgARjEcodK2h_O7nu3PaT3wXMwlxuUSWAlPvww-C4CbuoMfCYraX0jMHNpL4H1uNx1adG_BgRBYK5SX'
  2. 数据似乎已成功加密!
  3. 解密后的数据: b'I want to encrypt this secret message.'
  4. 解密成功,数据完整一致。
复制代码
使用 MermaidGo 绘制示例代码的流程图,结果如下:
1.jpeg

五、学习资源


  • 开源项目:cryptography
  • 中文自述:REMDME
  • 在线运行:PythonRun
如果这篇文章对你有帮助,欢迎点赞、收藏、转发!
学习过程中有任何问题,欢迎在评论区留言交流~

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册