我已经能够找到有关对称加密和哈希的信息,但是我在寻找任何类型的Java公钥加密方面遇到了很多麻烦。我想做一个非常简单的概念验证程序,它可以接受一个字符串(或者一个文件),用公钥加密它,然后用私钥解密它。
如果有任何教程链接或示例,将不胜感激。我只是想制作一些演示如何在Java中使用公钥加密的东西。
我已经能够找到有关对称加密和哈希的信息,但是我在寻找任何类型的Java公钥加密方面遇到了很多麻烦。我想做一个非常简单的概念验证程序,它可以接受一个字符串(或者一个文件),用公钥加密它,然后用私钥解密它。
如果有任何教程链接或示例,将不胜感激。我只是想制作一些演示如何在Java中使用公钥加密的东西。
通常,使用公钥加密来加密对称密钥,部分原因是公钥加密非常缓慢。通常,您会向接收者发送以下内容,以便他们可以解密您的消息:
我在JCE文档中找到了示例代码,足以让事情运转起来。
捆绑所有这些信息的标准格式是Cryptographic Message Syntax(CMS),它被电子邮件应用程序中的S/MIME所使用。我建议使用Bouncy Castle库;它们很可靠、相当简单并且正在积极维护。参考文档有点薄弱,但他们提供了代码示例。
网络上有很多关于这方面的资源。基本上它围绕着KeyPairGenerator类展开。
请参见http://www.informit.com/articles/article.aspx?p=170967&seqNum=4,了解一个示例程序。