examples: add a simplified mini (v)pwgen program
parent
770ffa1ebd
commit
b525553b53
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue