Java的PublicKey.load_pkcs1

问题描述 投票:-2回答:1

我期待加载PEM公钥来加密值。在Python中,我只使用更高级别的函数,如PublicKey.load_pkcs1。我无法在任何地方找到Java / Scala这样的函数。

这样可用还是我需要在Python实现后重新实现?


编辑:

内容是:

-----BEGIN RSA PUBLIC KEY-----
...
-----END RSA PUBLIC KEY-----
java scala encryption public-key-encryption
1个回答
-1
投票

使这项工作非常简单。您只需要从Scala调用Python脚本,如下所示:

val encryptedValue: String = Seq("python3", "foobar.py", pemKey, value).!!

在Python中,您可以通过以下方式简单地实现PKCS1读取:

import base64
import rsa
import sys

pemKey = sys.argv[1]
value = sys.argv[2]
pk = rsa.PublicKey.load_pkcs1(bytes(pemKey, 'utf-8'))
encrypted = base64.b64encode(
    rsa.encrypt(value.encode('utf-8'), pk)).decode('utf-8')
print(encrypted)
© www.soinside.com 2019 - 2024. All rights reserved.