📜  Fernet(对称加密)在Python中使用 Cryptography 模块(1)

📅  最后修改于: 2023-12-03 15:30:45.150000             🧑  作者: Mango

Fernet(对称加密)在Python中使用 Cryptography 模块

在Python中,有很多加密模块可以使用,其中一种比较流行的是Cryptography模块。Cryptography模块提供了丰富的加密算法,其中包括对称加密算法Fernet。

Fernet算法是一种基于AES算法的对称加密算法,它可以安全地加密数据,并保证数据不会被篡改。Cryptography模块提供了Fernet算法的实现,下面我们就来介绍如何使用Fernet算法实现对称加密。

安装Cryptography模块

在使用Cryptography模块之前,我们需要先安装它。可以通过pip命令来安装:

pip install cryptography
Fernet算法的加密和解密

Fernet算法使用相同的密钥来进行加密和解密,因此需要先生成一个密钥。密钥的生成可以通过以下方式来实现:

from cryptography.fernet import Fernet

key = Fernet.generate_key()

接下来我们可以使用Fernet算法来加密数据:

message = "Hello World".encode()

f = Fernet(key)
ciphertext = f.encrypt(message)

这样就可以得到一个加密后的数据ciphertext。需要解密时,只需要使用相同的密钥来创建一个Fernet对象,然后调用decrypt方法即可:

f = Fernet(key)
plaintext = f.decrypt(ciphertext)

这样就可以得到被加密的原文了。

示例程序

下面是一个完整的示例程序,展示了如何使用Fernet算法进行加密和解密:

from cryptography.fernet import Fernet

key = Fernet.generate_key()
message = "Hello World".encode()

f = Fernet(key)
ciphertext = f.encrypt(message)

print("密文:" + str(ciphertext))

f = Fernet(key)
plaintext = f.decrypt(ciphertext)

print("明文:" + str(plaintext.decode()))

程序生成一个随机的密钥,然后使用Fernet算法将"Hello World"加密并输出密文,接着再使用相同的密钥对密文进行解密,并输出解密后的明文。

以上就是使用Fernet算法进行对称加密的介绍,希望可以帮助你在Python中进行加密操作。