在Java中解密使用OpenSSL加密的文本

时间:2019-03-11 04:38:46

标签: java public-key-encryption

如果生成了如下所示的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源代码解密。有什么办法吗?

1 个答案:

答案 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选项。如果您可以控制可以使用的加密参数,那么寻找答案可能会很容易。