extern crate commoncrypto; extern crate hex; use commoncrypto::hash::{CCDigestAlgorithm, Hasher}; use hex::ToHex; use std::io::Write; const TO_HASH: &'static str = "The quick brown fox jumps over the lazy dog"; const TO_HASH_MD5: &'static str = "9e107d9d372bb6826bd81d3542a419d6"; #[test] fn md5_hasher() { let mut hasher = Hasher::new(CCDigestAlgorithm::kCCDigestMD5); assert!(hasher.write_all(TO_HASH.as_bytes()).is_ok()); let result = hasher.finish(); assert!(result.is_ok()); assert_eq!(result.expect("Hash failed").to_hex(), TO_HASH_MD5) }