Rustelo/server/examples/generate_hash.rs

29 lines
710 B
Rust
Raw Normal View History

2025-07-07 23:05:19 +01:00
use argon2::{
Argon2,
password_hash::{PasswordHasher, SaltString, rand_core::OsRng},
};
use std::env;
fn main() {
let args: Vec<String> = env::args().collect();
if args.len() != 2 {
eprintln!("Usage: {} <password>", args[0]);
std::process::exit(1);
}
let password = &args[1];
let argon2 = Argon2::default();
let salt = SaltString::generate(&mut OsRng);
match argon2.hash_password(password.as_bytes(), &salt) {
Ok(password_hash) => {
println!("Argon2 hash for '{}': {}", password, password_hash);
}
Err(e) => {
eprintln!("Error generating hash: {}", e);
std::process::exit(1);
}
}
}