Random伪随机大揭秘

Random伪随机可以破解序列

是以时间为产生因子,也就是说只要能找到具体的产生时间就可以知道这组序列
通过一段简单程序分析

package com.blb.seven1;

import java.util.Random;

public class Randoms {
	public static void main(String[] args) {
		Random r=new Random(1);
		for(int i=0;i<10;i++){
			System.out.println(r.nextInt(10));
		}
	}
}

结果
Random伪随机大揭秘_第1张图片
这个程序怎么运行结果都是这样 ,当然可以改变元素的长度,改成20,100都是可以的,但是前面的数字绝对是这个
取决因素是这个

Random r=new Random(1);

这个构造函数是有参数的,而我们平时用的是第一种构造方法来构造对象的,

Random r=new Random()

这个则是用时间做了产生的因子,也就是说你只要知道这个具体的时间,放到括号里面去,你所获得的序列是恒定的

你可能感兴趣的:(发现,java算法)