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

Eug*_*e M 16 java encryption-asymmetric public-key

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

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

eri*_*son 13

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

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

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

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


Lok*_*oki 12

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

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

  • 尝试RSA/ECB/PKCS1Padding.ECB实际上是"不"块链接模式. (3认同)