40 import java.security.SecureRandom;
41 import java.util.ArrayList;
42 import java.util.List;
43 import java.util.stream.IntStream;
59 System.out.println(
"Usage: PasswordGenerator LENGTH");
61 "Password Generator produces password of desired LENGTH.");
68 IntStream.rangeClosed(
'0',
'9').forEach(PASSWORD_CHARS::add);
69 IntStream.rangeClosed(
'A',
'Z').forEach(PASSWORD_CHARS::add);
70 IntStream.rangeClosed(
'a',
'z').forEach(PASSWORD_CHARS::add);
79 public static void main(String[] args) {
81 if (args.length != 1) {
88 passwordLength = Long.parseLong(args[0]);
89 if (passwordLength < 1) {
93 }
catch (NumberFormatException ex) {
104 .map(PASSWORD_CHARS::get)
105 .forEach(i -> System.out.print((
char) i));
109 System.err.println(message);