2025年java如何生成随机数「建议收藏」

java如何生成随机数「建议收藏」java 如何生成随机 java 生成随机数的两种方式 java 生成随机数有两种方法 1 使用 Math 方法 Math random 随机生成一个 double 类型 0 1 如果想生成 1 100 的随机数 如 int num int Math random 100 2 使用 Random 方法生成随机数 public static void testRandom

java如何生成随机,java生成随机数的两种方式。

java生成随机数有两种方法:

1、使用Math方法,Math.random()随机生成一个double类型[0,1),如果想生成1~100的随机数:

如:int num = (int)(Math.random()*100);

2、使用Random方法生成随机数

	public static void testRandom() { 

Random random = new Random();

random.setSeed(10000L);

for(int i = 0 ; i < 10 ; i ++) {

System.out.println(random.nextInt(1000));
}
System.out.println("------------------");
random = new Random();
random.setSeed(10000L);
for(int i = 0 ; i < 10 ; i ++) {

System.out.println(random.nextInt(1000));
}

}

结果如下:

208
572
116
475
500
574
641
166
727
670
------------------
208
572
116
475
500
574
641
166
727
670

3、使用SecureRandom生成随机数,代码如下:

	public static void testSecureRandom() { 

SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(10000L);
for(int i = 0 ; i < 10 ; i ++) {

System.out.println(secureRandom.nextInt(1000));
}
System.out.println("-------------------");
secureRandom = new SecureRandom();
secureRandom.setSeed(10000L);
for(int i = 0; i < 10 ; i ++) {

System.out.println(secureRandom.nextInt(1000));
}

}

结果如下:

851
624
367
62
625
156
930
530
346
260
-------------------
395
65
353
453
275
194
34
227
538
14

4、如何选择使用随机数?

首先我们知道java.util.Random的实例不是加密安全的,SecureRandom来获取加密安全的伪随机数生成器,以供对安全敏感的应用程序使用。以上二三可以很明显的发现,我要是知道setSeed值(即时间戳),很明显能把随机数给猜出来。所以不建议使用Random。

5、一些公司随机数选择的案例

可能某些小公司是让使用Random的,使用Random也可以获取到随机数,但是为了程序的安全性,还是使用SecureRandom比较好。
现在有好多公司,明文禁止使用java.util.Random。

编程小号
上一篇 2025-03-09 09:57
下一篇 2025-02-22 07:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/118263.html