我已经能够找到有关对称加密和散列的信息,但是我在查找有关java的任何类型的公钥加密的大量信息方面遇到了很多麻烦.我想做的是做一个非常简单的概念证明程序,它接受一个字符串(或我认为的文件),用公钥加密它,然后用私钥解密它.
任何教程链接或示例将不胜感激.我只是想说明如何在Java中使用公钥加密.
通常,您使用公钥加密来加密对称密钥,部分原因是公钥加密非常慢.通常,您会向收件人发送以下内容,以便他们可以解密您的邮件:
对称密钥,使用收件人的公钥加密.
所用算法的参数,通常是对称密码的初始化向量.
使用的加密算法的标识符.
密文 - 在对称密码下加密的实际消息.
我发现JCE文档中的示例代码足以使工作正常.
捆绑所有这些信息的标准格式是加密消息语法或CMS,它在电子邮件应用程序中由S/MIME使用.我推荐使用Bouncy Castle的图书馆 ; 它们坚固,相当简单,并且积极维护.参考文档有点弱,但它们确实提供了代码示例.
关于这一点,网上有相当多的资源.基本上它绕过KeyPairGenerator类.
有关示例程序,请参阅http://www.informit.com/articles/article.aspx?p=170967&seqNum=4.