use crate::crypto::hash::HashError;
pub(crate) trait HashDriver: Send + Sync + 'static {
fn hash(&self, password: &str) -> Result<String, HashError>;
fn verify(&self, password: &str, hash: &str) -> Result<bool, HashError>;
fn needs_rehash(&self, hash: &str) -> bool;
}