可以使用getInstance()类java.security.SecureRandom中的方法获得SecureRandom对象。该SecureRandom对象可用于实现指定的随机数生成器(RNG)算法。
该getInstance()方法需要一个参数,即随机数生成器(RNG)算法,并返回SecureRandom对象。
演示此的程序如下所示-
import java.security.*;
import java.util.*;
public class Demo {
public static void main(String[] argv) {
try {
SecureRandom sRandom = SecureRandom.getInstance("SHA1PRNG");
String s = "Apple";
byte[] arrB = s.getBytes();
System.out.println("The Byte array before the operation is: " + Arrays.toString(arrB));
sRandom.nextBytes(arrB);
System.out.println("The Byte array after the operation is: " + Arrays.toString(arrB));
} catch (NoSuchAlgorithmException e) {
System.out.println("Error!!! NoSuchAlgorithmException");
} catch (ProviderException e) {
System.out.println("Error!!! ProviderException");
}
}
}输出结果
The Byte array before the operation is: [65, 112, 112, 108, 101] The Byte array after the operation is: [10, 60, 119, -12, -103]
现在让我们了解上面的程序。
该getInstance()方法用于获取SecureRandom对象sRandom。使用此方法,可以显示操作前后的字节数组。演示的代码片段如下-
try {
SecureRandom sRandom = SecureRandom.getInstance("SHA1PRNG");
String s = "Apple";
byte[] arrB = s.getBytes();
System.out.println("The Byte array before the operation is: " + Arrays.toString(arrB));
sRandom.nextBytes(arrB);
System.out.println("The Byte array after the operation is: " + Arrays.toString(arrB));
}