用Python和 Cryptography库给你的文件加密解密
用Python和 Cryptography库给你的文件加把安全锁。
先介绍与加密解密有关的几个基本概念。
加密(Encryption):加密是将明文转换为密文的过程,使得未经授权的人无法读懂。
解密(Decryption):解密是将密文转换为明文的过程,使得原始信息可以被正确的人阅读。
密钥(Key):密钥是加密和解密过程中的关键。它可以是单个数字、字符串或者是更复杂的密钥对象。
算法:算法是加密和解密过程中的具体步骤。
cryptography是一个强大的Python库,提供了一套丰富的加密相关的操作,用于安全地处理数据。它旨在提供简单易用的加密方法,同时也支持更高级的加密需求,使这项技术变得易于使用。cryptography库包含两个主要的高级组件:Fernet(对称加密)和hazmat(危险材料层)。
主要特点
易用性:cryptography库的设计初衷是易于使用,尽量减少安全漏洞的出现。
安全性:它提供了最新的加密算法,并且经过安全专家的审查。
灵活性:对于需要直接访问加密算法的高级用户,cryptography提供了hazmat模块。
主要组件
Fernet:提供了对称加密的实现,非常适合用于加密和解密可以安全共享密钥的场景。使用Fernet非常简单,只需要一个密钥就可以进行安全的数据加密和解密。
hazmat(Hazardous Materials):这个模块提供了底层加密原语(如块密码、消息摘要算法等)。它是为那些需要执行特定加密操作的高级用户设计的,但使用时需要格外小心,因为不当的使用可能导致安全问题。
官方文档https://cryptography.io/en/latest/