-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
86 lines (53 loc) · 2.79 KB
/
Solution.java
File metadata and controls
86 lines (53 loc) · 2.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
//I have spoken these things to you in figures of speech. But the time is coming when
//I will no more speak to you in figures of speech, but will tell you plainly about the Father. (John 16:25)
package com.javarush.task.task32.task3204;
import java.io.ByteArrayOutputStream;
/*
Генератор паролей
*/
public class Solution {
public static void main(String[] args) {
ByteArrayOutputStream password = getPassword();
System.out.println(password.toString());
}
public static ByteArrayOutputStream getPassword() {
ByteArrayOutputStream output = new ByteArrayOutputStream();
String letters = "abcdefghijklmnopqrstuvwxyz";
String digits = "1234567890";
StringBuffer pwd = new StringBuffer();
for (int i=0; i<4; i++) {
pwd.append(letters.charAt((int)(Math.random()*26)));
}
for (int i=0; i<2; i++) {
pwd.append(digits.charAt((int)(Math.random()*10)));
}
for (int i=0; i<2; i++) {
pwd.append(letters.toUpperCase().charAt((int)(Math.random()*26)));
}
try {
output.write(pwd.toString().getBytes());
} catch (Exception e)
{
}
return output;
}
}
/*
Генератор паролей
Реализуй логику метода getPassword, который должен возвращать ByteArrayOutputStream, в котором будут байты пароля.
Требования к паролю:
1) 8 символов.
2) только цифры и латинские буквы разного регистра.
3) обязательно должны присутствовать цифры, и буквы разного регистра.
Все сгенерированные пароли должны быть уникальные.
Пример правильного пароля:
wMh7smNu
Требования:
1. Класс Solution должен содержать метод getPassword(), который возвращает ByteArrayOutputStream со сгенерированным паролем.
2. Длина пароля должна составлять 8 символов.
3. Пароль должен содержать хотя бы одну цифру.
4. Пароль должен содержать хотя бы одну латинскую букву нижнего регистра.
5. Пароль должен содержать хотя бы одну латинскую букву верхнего регистра.
6. Пароль не должен содержать других символов, кроме цифр и латинских букв разного регистра.
7. Сгенерированные пароли должны быть уникальными.
*/