Ensure functions are in alphabetical order
This commit is contained in:
parent
0eace892ad
commit
bcb903c0af
1 changed files with 31 additions and 31 deletions
|
@ -111,6 +111,37 @@ pub mod argon2 {
|
|||
}
|
||||
}
|
||||
|
||||
pub mod bcrypt {
|
||||
|
||||
use crate::err::Error;
|
||||
use crate::fnc::crypto::COST_ALLOWANCE;
|
||||
use crate::sql::value::Value;
|
||||
use bcrypt;
|
||||
use bcrypt::HashParts;
|
||||
use std::str::FromStr;
|
||||
|
||||
pub fn cmp((hash, pass): (String, String)) -> Result<Value, Error> {
|
||||
let parts = match HashParts::from_str(&hash) {
|
||||
Ok(parts) => parts,
|
||||
Err(_) => return Ok(Value::False),
|
||||
};
|
||||
// Note: Bcrypt cost is exponential, so add the cost allowance as opposed to multiplying.
|
||||
Ok(if parts.get_cost() > bcrypt::DEFAULT_COST.saturating_add(COST_ALLOWANCE) {
|
||||
// Too expensive to compute.
|
||||
Value::False
|
||||
} else {
|
||||
// FIXME: If base64 dependency is added, can avoid parsing the HashParts twice, once
|
||||
// above and once in verity, by using bcrypt::bcrypt.
|
||||
bcrypt::verify(pass, &hash).unwrap_or(false).into()
|
||||
})
|
||||
}
|
||||
|
||||
pub fn gen((pass,): (String,)) -> Result<Value, Error> {
|
||||
let hash = bcrypt::hash(pass, bcrypt::DEFAULT_COST).unwrap();
|
||||
Ok(hash.into())
|
||||
}
|
||||
}
|
||||
|
||||
pub mod pbkdf2 {
|
||||
|
||||
use super::COST_ALLOWANCE;
|
||||
|
@ -180,34 +211,3 @@ pub mod scrypt {
|
|||
Ok(hash.into())
|
||||
}
|
||||
}
|
||||
|
||||
pub mod bcrypt {
|
||||
|
||||
use crate::err::Error;
|
||||
use crate::fnc::crypto::COST_ALLOWANCE;
|
||||
use crate::sql::value::Value;
|
||||
use bcrypt;
|
||||
use bcrypt::HashParts;
|
||||
use std::str::FromStr;
|
||||
|
||||
pub fn cmp((hash, pass): (String, String)) -> Result<Value, Error> {
|
||||
let parts = match HashParts::from_str(&hash) {
|
||||
Ok(parts) => parts,
|
||||
Err(_) => return Ok(Value::False),
|
||||
};
|
||||
// Note: Bcrypt cost is exponential, so add the cost allowance as opposed to multiplying.
|
||||
Ok(if parts.get_cost() > bcrypt::DEFAULT_COST.saturating_add(COST_ALLOWANCE) {
|
||||
// Too expensive to compute.
|
||||
Value::False
|
||||
} else {
|
||||
// FIXME: If base64 dependency is added, can avoid parsing the HashParts twice, once
|
||||
// above and once in verity, by using bcrypt::bcrypt.
|
||||
bcrypt::verify(pass, &hash).unwrap_or(false).into()
|
||||
})
|
||||
}
|
||||
|
||||
pub fn gen((pass,): (String,)) -> Result<Value, Error> {
|
||||
let hash = bcrypt::hash(pass, bcrypt::DEFAULT_COST).unwrap();
|
||||
Ok(hash.into())
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue