2

我正在使用 Java 1.4.2_10,并且正在尝试使用 RSA 加密:

我得到以下代码的 NoSuchAlgorithmException:

cipher = Cipher.getInstance("RSA");

这是错误:

java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA
        at javax.crypto.Cipher.getInstance(DashoA6275)

这在 1.5 及更高版本中运行良好,但是我需要使用 1.4。是否有任何解决方法或第三方产品可用于解决此问题?

提前致谢。

4

2 回答 2

2

您可以安装Bouncy Castle加密提供程序。抓住他们的罐子然后打电话Cipher.getInstance("RSA", "BC")

于 2010-06-18T22:50:43.907 回答
2

Java 1.4 肯定支持RSA,所以这不起作用的事实表明更深层次的东西是错误的。这是否适用于任何其他密码(例如“AES”或“DES”)?您应该检查以确保您的提供程序配置正确。以下代码在您的系统上的输出是什么:

System.out.println("Providers: ");
java.security.Provider[] providers =  java.security.Security.getProviders();
for(int x = 0; x < providers.length; x++) {
    System.out.println("\t" + providers[x]);
}

System.out.println();
System.out.println("Algorithms: ");
java.util.Set algs = java.security.Security.getAlgorithms("Cipher");

java.util.Iterator i_algs = algs.iterator(); 
while(i_algs.hasNext()) {
    System.out.println("\t" + i_algs.next());
}
于 2010-06-20T17:35:10.413 回答