X-Git-Url: http://git.euphorik.ch/?p=recipes.git;a=blobdiff_plain;f=backend%2Fsrc%2Fhash.rs;fp=backend%2Fsrc%2Fhash.rs;h=3dd45a9f43527cfc61fed80ae41cba1cfbcf052e;hp=0000000000000000000000000000000000000000;hb=5e4e0862477f46a6ea477a56f01fd84e720a9546;hpb=855eb169737848e21061e637a8d562ccc33c58e8 diff --git a/backend/src/hash.rs b/backend/src/hash.rs new file mode 100644 index 0000000..3dd45a9 --- /dev/null +++ b/backend/src/hash.rs @@ -0,0 +1,16 @@ +use std::{string::String, env::consts::OS}; + +use argon2::{ + password_hash::{ + Error, + rand_core::OsRng, + PasswordHash, PasswordHasher, PasswordVerifier, SaltString + }, + Argon2 +}; + +pub fn hash(password: &str) -> Result> { + let salt = SaltString::generate(&mut OsRng); + let argon2 = Argon2::default(); + argon2.hash_password(password.as_bytes(), &salt).map(|h| h.to_string()).map_err(|e| e.into()) +} \ No newline at end of file