如果生成了如下所示的RSA密钥和加密文本
$ openssl genrsa -out private.pem 1024
$ openssl rsa -in private.pem -out public.pem -outform PEM -pubout
$ echo 'too many secrets' > file.txt
$ openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl
现在我想用JAVA源代码解密。有什么办法吗?
答案 0 :(得分:0)
是的,我们的代码正是这样做的。我们使用openssl工具对数据库加密密钥进行加密,然后使用Java的内置Crypto软件包在Java中对其进行解密:
https://docs.oracle.com/javase/7/docs/api/javax/crypto/package-summary.html
我认为这个S.O.帖子可能会为您提供所需的信息:
Java equivalent of an OpenSSL AES CBC encryption
这里似乎也不错:
Java decryption of an encrypted file with openssl aes 256 cbc
通过Google或以前的S.O,应该对此问题有多个答案。除了这些问题。我认为这些帖子中都包含了基本思想。诀窍将是使您使用的加密参数正确无误。您似乎正在使用所有默认值。我们使用-aes-256-cbc选项。如果您可以控制可以使用的加密参数,那么寻找答案可能会很容易。