Java的RSA算法库

13

我希望为我的应用程序提供基于RSA算法的简单许可机制。

是否有任何免费的RSA库?

4个回答

34

只需使用javax.cryptojava.security包。它们都在Java标准平台中。

KeyPair keys = KeyPairGenerator.getInstance("RSA").generateKeyPair();
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, keys.getPublic());
byte[] encrypted = cipher.doFinal(rawData);

官方文档链接:


7

为什么要使用BouncyCastle而不是标准API中的加密功能? - jarnbjo
1
jarnbjo:不确定,但我只是在回答问题。不过,我确实给kdgregory点了赞,因为我认为那可能是最好的方法。尽管我IRC(我可能不记得)有一段时间加密在常规Java下载中没有内置。 - Noon Silk
@silky - 如果我没记错,这个功能是在1.4版本中加入的;我最近才开始使用它……顺便说一下,你点赞有点太早了(不过还是谢谢):因为我复制了一个学习示例,并在其中加入了自己的方法 :-) - kdgregory
2
silky: JCE(Java Cryptography Extension)可作为Java 1.2和1.3的单独下载,自1.4以来已成为标准API的一部分,因此已经存在了大约10年。BouncyCastle可以很好地用作附加的JCE提供程序,用于不受默认VM安全提供程序支持的算法,但是对于常见的算法(如RSA),没有必要添加对第三方库的依赖。 - jarnbjo

1

如果出于某种原因您不想使用平台内置的功能,那么Keyczar通常是任何其他加密需求的最佳解决方案。


2
在我看来,Bouncycastle 更加知名、功能更加完备和成熟,并且更经常被推荐。 - President James K. Polk
这并不一定意味着它更好 @JamesKPolk - Caelum

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接