Files
simple-instant-stream/crates/server/src/hash.rs
T
2026-06-22 15:19:46 +01:00

16 lines
593 B
Rust

use argon2::password_hash::{SaltString, rand_core::OsRng};
use argon2::{Argon2, PasswordHash, PasswordHasher, PasswordVerifier};
pub fn hash_password(password: &str) -> Result<String, argon2::password_hash::Error> {
let salt = SaltString::generate(&mut OsRng);
let hash = Argon2::default().hash_password(password.as_bytes(), &salt)?;
Ok(hash.to_string())
}
pub fn verify_password(password: &str, stored_hash: &str) -> bool {
let parsed = PasswordHash::new(stored_hash).unwrap();
Argon2::default()
.verify_password(password.as_bytes(), &parsed)
.is_ok()
}