在Python中使用OpenSSL库进行加密解密操作

2023-03-26 00:00:00 python 操作 加密解密

在Python中,可以使用OpenSSL库进行加密解密操作。以下是一个使用OpenSSL库加密和解密数据的示例:

import OpenSSL
from OpenSSL import crypto

# 加密数据
plain_text = b"Hello, pidancode.com!"
key = b"key"
iv = b"iv"
cipher = OpenSSL.crypto.Cipher(b"AES-128-CBC", key, iv, OpenSSL.crypto.ENCRYPT)
encrypted_data = cipher.update(plain_text) + cipher.final()

# 解密数据
cipher = OpenSSL.crypto.Cipher(b"AES-128-CBC", key, iv, OpenSSL.crypto.DECRYPT)
decrypted_data = cipher.update(encrypted_data) + cipher.final()

print("原始数据:", plain_text)
print("加密数据:", encrypted_data)
print("解密数据:", decrypted_data)

以上代码使用OpenSSL.crypto.Cipher()方法创建一个AES-128-CBC加密器,并使用指定的key和iv对原始数据进行加密。加密器的update()方法用于处理数据块,final()方法用于完成加密并返回最后的加密数据。随后,创建一个新的AES-128-CBC解密器,并使用相同的key和iv对加密数据进行解密。解密器的update()方法用于处理数据块,final()方法用于完成解密并返回最后的解密数据。

注意:在实际应用中,要使用更加安全的加密算法和更长的key和iv,以确保数据的安全性。

相关文章