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