use crate::errors::ServiceError; use argonautica::{Hasher, Verifier}; lazy_static::lazy_static! { pub static ref SECRET_KEY: String = std::env::var("SECRET_KEY").unwrap_or_else(|_| "0123".repeat(8)); } // WARNING THIS IS ONLY FOR DEMO PLEASE DO MORE RESEARCH FOR PRODUCTION USE pub fn hash_password(password: &str) -> Result { Hasher::default() .with_password(password) .with_secret_key(SECRET_KEY.as_str()) .hash() .map_err(|err| { dbg!(err); ServiceError::InternalServerError }) } pub fn verify(hash: &str, password: &str) -> Result { Verifier::default() .with_hash(hash) .with_password(password) .with_secret_key(SECRET_KEY.as_str()) .verify() .map_err(|err| { dbg!(err); ServiceError::Unauthorized }) }