赞
踩
在java 8
中,在Random
和SecureRandom
类中增加了一些新方法。
这些方法就像ints
、longs
和double
一样。
它们分别返回IntStream
、LongStream
和DoubleStream
。
SecureRandom
类扩展了Random
类。
在这个页面中,我将提供一个密码生成器的例子。
Random
类产生伪随机数。
对于每个实例的调用,都会返回一个伪随机数。
Random
类是线程安全的。
Random
类有一些支持Java 8
的新方法。
ints
: 以IntStream
的形式返回integer
值。
longs
: 以LongStream
的形式返回long
值。
doubles
: 以DoubleStream
的形式返回double
值。
查找生成密码的示例。
RandomDemo.java
import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.stream.IntStream; public class RandomDemo { private static final List<Integer> VALID_PWD_CHARS = new ArrayList<>(); static { IntStream.rangeClosed('0', '9').forEach(VALID_PWD_CHARS::add); // 0-9 IntStream.rangeClosed('a', 'z').forEach(VALID_PWD_CHARS::add); // a-z } public static void main(String[] args) { int passwordLength = 8; System.out.println("---Generated Password---"); for(int i=0;i<5;i++) { new Random().ints(passwordLength, 0, VALID_PWD_CHARS.size()) .map(VALID_PWD_CHARS::get).forEach(s -> System.out.print((char) s)); System.out.println(); } } }
输出
---Generated Password---
6mx3dunz
teuf505p
03nym5w3
zez006fc
y9q0rbs3
SecureRandom
是加密的强数字发生器(RNG
)。
SecureRandom
扩展了Random
类,并通过在java 8中
添加的新方法得到了丰富。
找到SecureRandom
的例子。
SecureRandomDemo.java
import java.security.SecureRandom; import java.util.ArrayList; import java.util.List; import java.util.stream.IntStream; public class SecureRandomDemo { private static final List<Integer> VALID_PWD_CHARS = new ArrayList<>(); static { IntStream.rangeClosed('0', '9').forEach(VALID_PWD_CHARS::add); // 0-9 IntStream.rangeClosed('A', 'Z').forEach(VALID_PWD_CHARS::add); // A-Z IntStream.rangeClosed('a', 'z').forEach(VALID_PWD_CHARS::add); // a-z IntStream.rangeClosed('!', '*').forEach(VALID_PWD_CHARS::add); // !-* } public static void main(String[] args) { int passwordLength = 8; System.out.println("---Generated Password---"); for(int i=0;i<5;i++) { new SecureRandom().ints(passwordLength, 0, VALID_PWD_CHARS.size()) .map(VALID_PWD_CHARS::get).forEach(s -> System.out.print((char) s)); System.out.println(); } } }
输出
---Generated Password---
Qq2R%SsQ
7PjxGxkO
xkMgQq2h
dljs4*w%
55"tSGJ5
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。