examples: add a simplified mini (v)pwgen program

pull/5674/head
Delyan Angelov 2020-07-05 01:44:00 +03:00
parent 770ffa1ebd
commit b525553b53
1 changed files with 25 additions and 0 deletions

25
examples/vpwgen.v 100644
View File

@ -0,0 +1,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
}
}
}
}