on
it
road
.com
Java 安全随机数流
要获得安全随机数流(即加密强随机数),请使用子类“SecureRandom”。
传递给 SecureRandom 对象的任何种子材料都必须是不可预测的,并且所有 SecureRandom 输出序列都必须具有强大的加密能力。
请注意,上面讨论的所有方法(ints()、longs()、doubles() 及其重载)也适用于 SecureRandom
,只是使用加密强伪随机数生成器 (CSPRNG)。
CSPRNGs 使用熵,它只不过是一个不可预测的输入(真正的随机源)。
它可能是一个硬件随机数生成器,也可能是一些不可预测的系统进程,例如计时事件、中断等。
使用 Random 类的方法
示例: 生成随机数流
package com.onitroad.java8.streams; import java.util.List; import java.util.Random; import java.util.stream.Collectors; public class RandomNumberExample { public static void main(String[] args) { Random random = new Random(); // 5个随机整数 random.ints( 5 ).sorted().forEach( System.out::println ); // 5个0到0.5之间的随机双精度数。 包括0,不包括0.5 random.doubles( 5, 0, 0.5 ).sorted().forEach( System.out::println ); // 将long装箱为Long,以便它们可以被收集 List<Long> longs = random.longs( 5 ).boxed().collect( Collectors.toList() ); System.out.println(longs); } }
Java 8 生成随机数的方法
Java8在Random类中添加了几个方法,这些方法可以返回随机数的顺序流。
最广泛使用的方法有:
IntStream ints() LongStream longs() DoubleStream doubles()
日期:2020-09-17 00:10:08 来源:oir作者:oir