diff --git a/src/digest_engine.rs b/src/digest_engine.rs index 27774c9..7722da1 100644 --- a/src/digest_engine.rs +++ b/src/digest_engine.rs @@ -70,3 +70,15 @@ pub fn get_digest_engine(digest_type: DigestType) -> Box { DigestType::None => Box::new(DigestEngineNone::new()), } } + +pub fn default_digest_type() -> DigestType { + let mut default = DigestType::None; + for digest_type in DigestType::iter() { + let digest_engine = get_digest_engine(digest_type.clone()).expect("Missing engine"); + if digest_engine.is_supported() { + default = digest_type; + break; + } + } + default +}