Commit 891a67d
committed
Strengthen generateRandomString
Previously, generateRandomString used crypto/rand bytes encoded with
hex.EncodeToString, so every character in the output was limited to the
16 hex digits. This gave only 4 bits of entropy per character, making
the generated passwords significantly weaker than their length would
suggest.
Replace hex encoding with an alphanumeric charset (a-z, A-Z, 0-9),
which provides 62 possible values per character, enforce a minimum length
of 16 characters, and guarantee that every generated password contains
at least one lowercase letter, one uppercase letter, and one digit.
This makes the password more secure against brute-force attacks.
Update tests to cover the minimum-length error path and the new
character-class requirements.1 parent c950aa2 commit 891a67d
2 files changed
Lines changed: 70 additions & 44 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | 23 | | |
25 | 24 | | |
26 | 25 | | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
190 | | - | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
191 | 193 | | |
192 | | - | |
193 | | - | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
194 | 198 | | |
195 | | - | |
196 | | - | |
197 | | - | |
| 199 | + | |
| 200 | + | |
198 | 201 | | |
199 | 202 | | |
200 | | - | |
201 | | - | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
202 | 232 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
24 | 31 | | |
25 | 32 | | |
26 | 33 | | |
27 | 34 | | |
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 | | - | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
60 | 38 | | |
61 | 39 | | |
62 | 40 | | |
| |||
72 | 50 | | |
73 | 51 | | |
74 | 52 | | |
75 | | - | |
| 53 | + | |
76 | 54 | | |
77 | 55 | | |
78 | 56 | | |
79 | 57 | | |
| 58 | + | |
| 59 | + | |
80 | 60 | | |
81 | | - | |
82 | | - | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
83 | 70 | | |
84 | 71 | | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
85 | 81 | | |
86 | 82 | | |
87 | 83 | | |
| |||
0 commit comments