aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/examples/vpwgen.v
blob: 2f803e4cecbac925eb3e5ea066b69f1d7c635e24 (plain)
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
import os
import os.cmdline
import crypto.rand
import strings

fn main() {
	blocksize := 256
	size := cmdline.option(os.args, '-size', '80').int()
	repeats := cmdline.option(os.args, '-repeats', '4').int()
	for _ in 0 .. repeats {
		mut sb := strings.new_builder(blocksize)
		for {
			x := rand.read(blocksize) ?
			for c in x {
				if c >= `0` && c <= `~` {
					sb.write_b(c)
				}
			}
			if sb.len > size {
				println(sb.str()[0..size])
				break
			}
		}
	}
}