Java 到 Python - 将 RSA Public 密钥传递给函数

Java to Python - Pass RSA Public Key into Function

我正在尝试将使用 RSA 加密的加密算法从 Java 转换为 Python。

我已经研究了一个星期并取得了一些进展,但我一直坚持转换下面这个 Java 特定功能。

    private static String encryptMessage(String randomToken, PublicKey publicKey) throws Exception {
    Cipher cipher = Cipher.getInstance("RSA");
    cipher.init(Cipher.ENCRYPT_MODE, publicKey);
    return Base64.encodeBase64String(cipher.doFinal(randomToken.getBytes()));
}

我想弄清楚如何将 Java 中这种格式的 public 键传递到要传递给函数的 python 数据类型中。

{public=Sun RSA public key, 2048 bits
  params: null
  modulus: 5438....
  public exponent:12237}

一旦我能够以正确的格式传递密钥。函数中的 python 等效调用是什么?

一些帮助和指导会非常有帮助。

使用 pycryptodome 库,我能够使用模数和指数构造正确的 public 密钥。

https://pycryptodome.readthedocs.io/en/latest/src/public_key/rsa.html#Crypto.PublicKey.RSA.construct