Java 中的 SecureRandom nextBytes()方法


可以使用 java.security.SecureRandom 类中的 nextBytes() 方法来获取用户指定的随机字节数。此方法需要一个参数,即一个随机字节数组,它将返回用户指定的随机字节。

一个演示程序如下所述 -

示例

 实时演示

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

更新于: 30-7-2019

331 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告