Java中的SecureRandom nextBytes()方法

用户指定的随机字节数可以使用nextBytes()类java.security.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: [110, -119, -65, -84, 54]

现在让我们了解上面的程序。

nextBytes()方法用于获取用户指定的随机字节数。

使用此方法,可以显示操作前后的字节数组。演示的代码片段如下-

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));
}