我已经能够找到有关对称加密和散列的信息,但在查找有关 java 的任何类型的公钥加密的大量信息时遇到了很大的麻烦。我想做的是制作一个非常简单的概念证明程序,它接受一个字符串(或我认为的文件),用公钥对其进行加密,然后用私钥对其进行解密。

任何教程链接或示例将不胜感激。我只是想做一些演示如何在 Java 中使用公钥加密。

有帮助吗?

解决方案

有关于在网络上相当多的资源。基本上,它转了一圈KeyPairGenerator类。

请参阅 http://www.informit.com/articles/article的.aspx?p值= 170967&SEQNUM = 4 一个示例程序。

其他提示

通常,您使用公钥加密来加密对称密钥,部分原因是公钥加密非常慢。通常,您会向收件人发送以下内容,以便他们可以解密您的消息:

  1. 使用接收者的公钥加密的对称密钥。
  2. 所使用算法的参数,通常是对称密码的初始化向量。
  3. 所使用的加密算法的标识符。
  4. 密文——使用对称密码加密的实际消息。

我在中找到了示例代码 JCE 文档 足以让事情正常运转。

捆绑所有这些信息的标准格式是加密消息语法(CMS),S/MIME 在电子邮件应用程序中使用它。我建议使用 Bouncy Castle 的图书馆;它们很可靠、相当简单并且得到积极维护。参考文档有点薄弱,但它们确实提供了代码示例。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top