M2Crypto 是一个用于 Python 的加密和 SSL/TLS 库,它基于 OpenSSL 库构建。以下是对 M2Crypto 涉及的基础概念、优势、类型、应用场景等的详细解释:
以下是一个使用 M2Crypto 进行 RSA 加密和解密的简单示例:
from M2Crypto import RSA, BIO
# 生成 RSA 密钥对
key = RSA.gen_key(2048, 65537)
private_key = key.as_pem(cipher=None)
public_key = key.pub.as_pem()
# 加密数据
data = b"Hello, World!"
rsa = RSA.load_pub_key_bio(BIO.MemoryBuffer(public_key))
encrypted_data = rsa.public_encrypt(data, RSA.pkcs1_padding)
# 解密数据
rsa = RSA.load_key_bio(BIO.MemoryBuffer(private_key))
decrypted_data = rsa.private_decrypt(encrypted_data, RSA.pkcs1_padding)
print(decrypted_data) # 输出: b'Hello, World!'
请注意,M2Crypto 已经有一段时间没有更新了,对于新的项目,可能会考虑使用更现代的库,如 cryptography
,它提供了类似的功能并且有更活跃的社区支持。
领取专属 10元无门槛券
手把手带您无忧上云