如何使用 python Openssl public 密钥加密字符串?
How to encrypt a string using python Openssl public key?
我当前生成 OpenSSL public-私钥对的代码:
import OpenSSL
key = OpenSSL.crypto.PKey()
key.generate_key(OpenSSL.crypto.TYPE_RSA, 2048)
public_key = OpenSSL.crypto.dump_publickey(OpenSSL.crypto.FILETYPE_PEM, key)
private_key = OpenSSL.crypto.dump_privatekey(OpenSSL.crypto.FILETYPE_PEM, key)
print(public_key, private_key, sep="\n")
文档建议您调用 key.to_cryptography()
获取加密密钥,然后使用 pyca/cryptography 执行加密。
https://www.pyopenssl.org/en/stable/api/crypto.html
鉴于您的加密密钥:
result = crypto_key.encrypt(b"Hello there")
我应该补充一点,RSA 主要用于签名和验证以及密钥交换。对于一般加密来说太慢了。
我当前生成 OpenSSL public-私钥对的代码:
import OpenSSL
key = OpenSSL.crypto.PKey()
key.generate_key(OpenSSL.crypto.TYPE_RSA, 2048)
public_key = OpenSSL.crypto.dump_publickey(OpenSSL.crypto.FILETYPE_PEM, key)
private_key = OpenSSL.crypto.dump_privatekey(OpenSSL.crypto.FILETYPE_PEM, key)
print(public_key, private_key, sep="\n")
文档建议您调用 key.to_cryptography()
获取加密密钥,然后使用 pyca/cryptography 执行加密。
https://www.pyopenssl.org/en/stable/api/crypto.html
鉴于您的加密密钥:
result = crypto_key.encrypt(b"Hello there")
我应该补充一点,RSA 主要用于签名和验证以及密钥交换。对于一般加密来说太慢了。