有关java中公钥加密的任何教程吗?

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

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

关于这一点,网上有相当多的资源。 基本上它绕过KeyPairGenerator类。

有关示例程序,请参阅http://www.informit.com/articles/article.aspx?p=170967&seqNum=4 。

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

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

我发现JCE文档中的示例代码足以使工作正常。

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