pub trait McfHasher {
// Required method
fn upgrade_mcf_hash<'a>(&self, hash: &'a str) -> Result<PasswordHash<'a>>;
// Provided method
fn verify_mcf_hash(&self, password: &[u8], mcf_hash: &str) -> Result<()>
where Self: PasswordVerifier { ... }
}
Expand description
Trait for password hashing algorithms which support the legacy Modular Crypt Format (MCF).
Required Methods§
Sourcefn upgrade_mcf_hash<'a>(&self, hash: &'a str) -> Result<PasswordHash<'a>>
fn upgrade_mcf_hash<'a>(&self, hash: &'a str) -> Result<PasswordHash<'a>>
Upgrade an MCF hash to a PHC hash. MCF follow this rough format:
$<id>$<content>
MCF hashes are otherwise largely unstructured and parsed according to algorithm-specific rules so hashers must parse a raw string themselves.
Provided Methods§
Sourcefn verify_mcf_hash(&self, password: &[u8], mcf_hash: &str) -> Result<()>where
Self: PasswordVerifier,
fn verify_mcf_hash(&self, password: &[u8], mcf_hash: &str) -> Result<()>where
Self: PasswordVerifier,
Verify a password hash in MCF format against the provided password.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.