可以使用setSeed()
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 str = "Apple"; byte[] arrB = str.getBytes(); sRandom.setSeed(arrB); byte[] arrSeed = sRandom.getSeed(5); System.out.println("重新播种的Byte数组是:"); for (int i = 0; i < arrSeed.length; i++) { System.out.print(arrSeed[i] + " "); } } catch (NoSuchAlgorithmException e) { System.out.println("Error!!! NoSuchAlgorithmException"); } catch (ProviderException e) { System.out.println("Error!!! ProviderException"); } } }
输出结果
重新播种的Byte数组是: -88 71 -32 -124 55
现在让我们了解上面的程序。
该setSeed()
方法用于重新设定随机对象的种子。然后显示重新播种的字节数组。演示此的代码片段如下-
try { SecureRandom sRandom = SecureRandom.getInstance("SHA1PRNG"); String str = "Apple"; byte[] arrB = str.getBytes(); sRandom.setSeed(arrB); byte[] arrSeed = sRandom.getSeed(5); System.out.println("重新播种的Byte数组是:"); for (int i = 0; i < arrSeed.length; i++) { System.out.print(arrSeed[i] + " "); } }