【问题标题】:How to encrypt a string using python Openssl public key?如何使用 python Openssl 公钥加密字符串?
【发布时间】:2022-10-22 17:55:48
【问题描述】:

我当前生成 OpenSSL 公钥-私钥对的代码:

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")

【问题讨论】:

    标签: python encryption openssl public-key-encryption


    【解决方案1】:

    文档建议您调用key.to_cryptography_key() 获取加密密钥,然后使用 pyca/cryptography 执行加密。

    https://www.pyopenssl.org/en/stable/api/crypto.html

    给定您的加密密钥:

    result = crypto_key.encrypt(b"Hello there")
    

    我应该补充一点,RSA 主要用于签名和验证以及密钥交换。对于一般加密来说,它太慢了。

    【讨论】:

    • 是的,我知道 RSA 使用它在服务器客户端发送对称密钥时速度很慢。
    • 那不好意思了。只是确保。当有人说“我想使用 RSA 加密”时,我需要回答这个问题并确保他们理解他们在做什么!但希望我确实回答了你的问题。
    猜你喜欢
    • 2013-06-09
    • 1970-01-01
    • 2014-08-07
    • 2015-11-02
    • 2014-10-29
    • 2011-06-17
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    相关资源
    最近更新 更多