公钥。load_pkcs1 Java
PublicKey.load_pkcs1 for Java
我正在寻找加载 PEM public 密钥来加密值。在 Python 中,我只会使用更高级别的函数,例如 PublicKey.load_pkcs1
。我在任何地方都找不到 Java/Scala 这样的函数。
在 Python 实施后是否可用,或者我是否需要重新实施?
编辑:
内容为:
-----BEGIN RSA PUBLIC KEY-----
...
-----END RSA PUBLIC KEY-----
完成这项工作非常简单。
您只需要像这样从 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)
我正在寻找加载 PEM public 密钥来加密值。在 Python 中,我只会使用更高级别的函数,例如 PublicKey.load_pkcs1
。我在任何地方都找不到 Java/Scala 这样的函数。
在 Python 实施后是否可用,或者我是否需要重新实施?
编辑:
内容为:
-----BEGIN RSA PUBLIC KEY-----
...
-----END RSA PUBLIC KEY-----
完成这项工作非常简单。 您只需要像这样从 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)