cas_lib/password_hashers/
bcrypt.rs1
2
3use bcrypt::{hash, verify, DEFAULT_COST};
4
5use crate::error::{CasError, CasResult};
6
7pub struct CASBCrypt;
8
9impl CASBCrypt {
10 pub fn hash_password_customized(password_to_hash: String, cost: u32) -> CasResult<String> {
16 hash(password_to_hash, cost).map_err(|_| CasError::PasswordHashingFailed)
17 }
18
19 pub fn hash_password(password_to_hash: String) -> CasResult<String> {
22 hash(password_to_hash, DEFAULT_COST).map_err(|_| CasError::PasswordHashingFailed)
23 }
24
25 pub fn verify_password(hashed_password: String, password_to_verify: String) -> CasResult<bool> {
29 verify(password_to_verify, &hashed_password).map_err(|_| CasError::PasswordHashingFailed)
30 }
31}