python aes256
是否需要在Python中使用密码或私钥加密某些文本? 您当然来对了地方。 AES-256是一种固态对称密码,通常用于为自己加密数据。 换句话说,正在加密数据的同一个人通常也将其解密(请考虑密码管理器 )。
依存关系
对于本教程,我们将使用Python 3,因此请确保安装pycryptodome ,这将使我们能够访问AES-256的实现:
pip3 install pycryptodomex
填充-由GCM处理
AES-256通常要求以16个字节的块提供要加密的数据,您可能已经在其他站点或教程中看到了。 但是,在GCM模式下,AES-256不需要任何特殊填充即可由我们手动完成。
正在加密
现在我们创建一个简单的crypto(plain_text,password)函数。 此功能使用密码来加密纯文本。 因此,任何有权访问加密文本和密码的人都可以对其解密。
def encrypt (plain_text, password) :
# generate a random salt
salt = get_random_bytes(AES.block_size)
# use the Scrypt KDF to get a private key from the password
private_key = hashlib.scrypt(
password.encode(), salt=salt, n= 2 ** 14 , r= 8 , p= 1 , dklen= 32