diff options
author | gabrielgio <gabriel.giovanini@pm.me> | 2022-03-25 18:55:37 +0100 |
---|---|---|
committer | gabrielgio <gabriel.giovanini@pm.me> | 2022-03-25 18:55:37 +0100 |
commit | 51b4460935bb04d26d368810aa5c330fb9bcccdd (patch) | |
tree | 1b4e72c4082bb1d3c363926cb0b058ff511da46a | |
parent | 60e47b9cb1127042c5567c2632936295fd210be5 (diff) | |
download | genpass-51b4460935bb04d26d368810aa5c330fb9bcccdd.tar.gz genpass-51b4460935bb04d26d368810aa5c330fb9bcccdd.tar.bz2 genpass-51b4460935bb04d26d368810aa5c330fb9bcccdd.zip |
ref: Add actual pass generator function
Modify `generate` function to actually generate usable.
-rw-r--r-- | src/lib.rs | 16 | ||||
-rw-r--r-- | www/index.html | 1 | ||||
-rw-r--r-- | www/index.js | 10 |
3 files changed, 19 insertions, 8 deletions
@@ -15,7 +15,17 @@ extern { } #[wasm_bindgen] -pub fn generate() -> String { - let num = rand::thread_rng().gen_range(0..100); - format!("{}", num) +pub fn generate(len: usize) -> String { + const CHARSET: &[u8] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ\ + abcdefghijklmnopqrstuvwxyz\ + 1234567890\ + !@#$%^&*()+{}[]"; + let mut rng = rand::thread_rng(); + + (0..len) + .map(|_| { + let idx = rng.gen_range(0..CHARSET.len()); + CHARSET[idx] as char + }) + .collect() } diff --git a/www/index.html b/www/index.html index 8007121..76d8c1c 100644 --- a/www/index.html +++ b/www/index.html @@ -12,7 +12,6 @@ <h1 class="title"> Password Generator </h1> - <label>This is a work in progress</label> <h2 class="subtitle" id="password"> password </h2> diff --git a/www/index.js b/www/index.js index c9baaf8..e25ec3a 100644 --- a/www/index.js +++ b/www/index.js @@ -1,7 +1,9 @@ import * as wasm from "genpass"; -function generatePassword() { - document.getElementById("password").innerHTML = wasm.generate(); -} +const LEN = 32; -document.getElementById("generate").onclick = generatePassword +document.getElementById("password").innerHTML = wasm.generate(LEN); + +document.getElementById("generate").onclick = (function () { + document.getElementById("password").innerHTML = wasm.generate(LEN); +}); |