From b525553b5305b12b9b13096da4f39dc83dff15d8 Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Sun, 5 Jul 2020 01:44:00 +0300 Subject: [PATCH] examples: add a simplified mini (v)pwgen program --- examples/vpwgen.v | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 examples/vpwgen.v diff --git a/examples/vpwgen.v b/examples/vpwgen.v new file mode 100644 index 0000000000..05563bda2a --- /dev/null +++ b/examples/vpwgen.v @@ -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 + } + } + } +}