aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 662dda6..cfa078a 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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()
}