v / examples / vpwgen.v
25 lines · 24 sloc · 466 bytes · 51f4d99399f88da0abf4d48d2317eaa8f3e630f5
Raw
1import os
2import os.cmdline
3import crypto.rand
4import strings
5
6fn main() {
7 blocksize := 256
8 size := cmdline.option(os.args, '-size', '80').int()
9 repeats := cmdline.option(os.args, '-repeats', '4').int()
10 for _ in 0 .. repeats {
11 mut sb := strings.new_builder(blocksize)
12 for {
13 x := rand.read(blocksize)!
14 for c in x {
15 if c >= `0` && c <= `~` {
16 sb.write_u8(c)
17 }
18 }
19 if sb.len > size {
20 println(sb.str()[0..size])
21 break
22 }
23 }
24 }
25}
26