java.security.NoSuchProviderException:IBMJCA
运行以下程序时发生此错误java.security.NoSuchProviderException:IBMJCA,java,jce,Java,Jce,运行以下程序时发生此错误 import java.security.SecureRandom; import java.util.Random; public class IBMSecureRandom1 { public static void main(String[] args) { try { // get a real random generator SecureRandom reallyRandom = SecureRandom.getInstanc
import java.security.SecureRandom;
import java.util.Random;
public class IBMSecureRandom1
{
public static void main(String[] args) {
try {
// get a real random generator
SecureRandom reallyRandom = SecureRandom.getInstance("IBMSecureRandom","IBMJCECCA");
System.out.print("Some really random numbers: ");
for (int i = 0; i < 3; i++) {
System.out.print(reallyRandom.nextInt() + " ");
}
System.out.println();
// make a pseudo random generator seeded by the real random generator
Random pseudoRandom = new Random(reallyRandom.nextLong());
System.out.print("Some pseudo random numbers: ");
for (int i = 0; i < 3; i++) {
System.out.print(pseudoRandom.nextInt() + " ");
}
System.out.println();
}
catch (Exception e) {
System.err.println("Something went wrong ...");
e.printStackTrace();
}
}
}
导入java.security.SecureRandom;
导入java.util.Random;
公共类ibmse1
{
公共静态void main(字符串[]args){
试一试{
//得到一个真正的随机发生器
SecureRandom reallyRandom=SecureRandom.getInstance(“IBMSecureRandom”、“IBMJCA”);
System.out.print(“一些真正随机的数字:”);
对于(int i=0;i<3;i++){
System.out.print(reallyRandom.nextInt()+);
}
System.out.println();
//制作一个伪随机生成器,该生成器由真实随机生成器播种
随机伪随机=新随机(reallyRandom.nextLong());
System.out.print(“一些伪随机数:”);
对于(int i=0;i<3;i++){
System.out.print(伪随机.nextInt()+);
}
System.out.println();
}
捕获(例外e){
System.err.println(“出错了…”);
e、 printStackTrace();
}
}
}
我不知道是否必须从以下位置添加任何jar文件或其他内容:
当应用程序发出Service.getInstance(算法、提供程序)
并且指定的提供程序未安装在JVM中。中提供的安装说明可用于安装任何提供程序,只要您知道包和类名。但是第一个OP需要从某处获得IBMJCCA。为什么要使用IBMJCCA?首先,您真的在使用和IBM JDK吗?不,我没有使用z/ost,不必为IBMJCA提供程序和
IBMSecureRandom
实现操心,只需使用.ya中提供的内容,但仍然会出现错误,我需要添加任何jar文件吗?请使用new SecureRandom()
如果您不了解应将哪些字符串指定为算法名称和提供程序名称。