在Python中使用Fernet进行对称加密解密操作

2023-03-27 00:00:00 操作 加密解密 对称

Fernet是Python中的一种对称加密算法,它提供了高强度的加密保护和快速的加密解密速度。在Python中,可以使用cryptography库来实现Fernet加密解密操作。以下是一个使用cryptography实现Fernet加密解密的示例:

from cryptography.fernet import Fernet

def fernet_encrypt(plaintext, key):
    # 生成Fernet对象
    f = Fernet(key)

    # 对明文进行加密
    ciphertext = f.encrypt(plaintext.encode())

    return ciphertext

def fernet_decrypt(ciphertext, key):
    # 生成Fernet对象
    f = Fernet(key)

    # 对密文进行解密
    plaintext = f.decrypt(ciphertext).decode()

    return plaintext

# 生成随机密钥
key = Fernet.generate_key()

# 加密
plaintext = 'pidancode.com'
encrypted_data = fernet_encrypt(plaintext, key)

# 解密
decrypted_data = fernet_decrypt(encrypted_data, key)
print(decrypted_data) # 输出 pidancode.com

在示例代码中,首先使用cryptography库生成了一个随机密钥。然后,使用fernet_encrypt函数对明文进行加密,该函数使用Fernet对象对明文进行加密。在fernet_decrypt函数中,使用Fernet对象对密文进行解密。最后,使用示例代码中的密钥对明文进行加密并使用相同的密钥对密文进行解密,可以得到原始的明文“pidancode.com”。

相关文章