Use the argon2 crate to hash passwords securely with Argon2id, the current industry standard. Add argon2 = "0.5" to your Cargo.toml and run the following code to hash and verify a password:
use argon2::{Argon2, PasswordHash, PasswordHasher, PasswordVerifier};
use argon2::password_hash::SaltString;
use argon2::password_hash::rand_core::OsRng;
fn main() {
let password = b"super_secret_password";
let salt = SaltString::generate(&mut OsRng);
let argon2 = Argon2::default();
let hash = argon2.hash_password(password, &salt).unwrap().to_string();
println!("Hash: {}", hash);
let parsed_hash = PasswordHash::new(&hash).unwrap();
argon2.verify_password(password, &parsed_hash).unwrap();
}
For bcrypt, add bcrypt = "0.16" to Cargo.toml and use bcrypt::hashpw and bcrypt::verify similarly.