--- /dev/null
+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<String, Box<dyn std::error::Error>> {
+ 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