mirror of
https://codeberg.org/likwid/likwid.git
synced 2026-06-25 15:37:42 +00:00
19 lines
647 B
Rust
19 lines
647 B
Rust
use argon2::{
|
|||
password_hash::{rand_core::OsRng, PasswordHash, PasswordHasher, PasswordVerifier, SaltString},
|
|||
Argon2,
|
|||
};
|
|||
|
|||
pub fn hash_password(password: &str) -> Result<String, argon2::password_hash::Error> {
|
|||
let salt = SaltString::generate(&mut OsRng);
|
|||
let argon2 = Argon2::default();
|
|||
let hash = argon2.hash_password(password.as_bytes(), &salt)?;
|
|||
Ok(hash.to_string())
|
|||
}
|
|||
|
|||
pub fn verify_password(password: &str, hash: &str) -> Result<bool, argon2::password_hash::Error> {
|
|||
let parsed_hash = PasswordHash::new(hash)?;
|
|||
Ok(Argon2::default()
|
|||
.verify_password(password.as_bytes(), &parsed_hash)
|
|||
.is_ok())
|
|||
}
|