这个 下字节() 方法 JAVA安全安全随机 类用于生成用户指定数量的随机字节。
null
如果之前没有调用setSeed,那么对该方法的第一次调用将强制该SecureRandom对象自身进行种子设定。如果之前调用setSeed,则不会发生这种自播种。
语法:
public void nextBytes(byte[] bytes)
参数: 该方法以随机字节填充的数组为参数。
注:
- 这些程序不会在在线IDE上运行。
- 每次安全随机类都会生成随机输出。
下面是一些例子来说明 下字节() 方法:
例1:
// Java program to demonstrate // nextBytes() method import java.security.*; import java.util.*; public class GFG1 { public static void main(String[] argv) { try { // creating the object of SecureRandom SecureRandom sr = SecureRandom.getInstance( "SHA1PRNG" ); // Declaring the string variable String str = "Tajmahal" ; // Declaring the byte Array // converting string into byte byte [] b = str.getBytes(); // printing the byte array System.out.println( "Byte array before operation : " + Arrays.toString(b)); // generating user-specified number of random bytes // using nextBytes() method sr.nextBytes(b); // printing the new byte array System.out.println( "Byte array after operation : " + Arrays.toString(b)); } catch (NoSuchAlgorithmException e) { System.out.println( "Exception thrown : " + e); } catch (ProviderException e) { System.out.println( "Exception thrown : " + e); } } } |
输出:
Byte array before operation : [84, 97, 106, 109, 97, 104, 97, 108] Byte array after operation : [-79, -110, -18, -31, -54, -36, 63, -61]
注: 以下程序在Geeksforgeks IDE上引发以下异常,但它将在任何命令提示符(JDK)上高效运行
Exception thrown : java.security.ProviderException: init failed
例2:
// Java program to demonstrate // nextBytes() method import java.security.*; import java.util.*; public class GFG1 { public static void main(String[] argv) { try { // creating the object of SecureRandom SecureRandom sr = new SecureRandom( new byte [] { 1 , 2 , 3 , 4 }); // Declaring the string variable String str = "Tajmahal" ; // Declaring the byte Array b byte [] b = str.getBytes(); // printing the byte array System.out.println( "Byte array before operation : " + Arrays.toString(b)); // generating user-specified number of random bytes // using nextBytes() method sr.nextBytes(b); // printing the new byte array System.out.println( "Byte array after operation : " + Arrays.toString(b)); } catch (ProviderException e) { System.out.println( "Exception thrown : " + e); } } } |
输出:
Byte array before operation : [84, 97, 106, 109, 97, 104, 97, 108] Byte array after operation : [-14, 77, 123, 121, 116, 50, -89, -86]
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END