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

时间:2008-12-03 20:28:18

标签: java public-key encryption-asymmetric

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

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

2 个答案:

答案 0 :(得分:13)

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

  1. 对称密钥,使用收件人的公钥加密。
  2. 所用算法的参数,通常是对称密码的初始化向量。
  3. 使用的加密算法的标识符。
  4. 密文 - 在对称密码下加密的实际消息。
  5. 我发现JCE documentation中的示例代码足以让事情顺利进行。

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

答案 1 :(得分:12)

网上有相当多的资源。基本上它绕过KeyPairGenerator类。

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