summaryrefslogtreecommitdiffstats
path: root/src/package/source.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/package/source.rs')
-rw-r--r--src/package/source.rs15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/package/source.rs b/src/package/source.rs
index 69cd4c8..c99b701 100644
--- a/src/package/source.rs
+++ b/src/package/source.rs
@@ -15,6 +15,7 @@ use log::trace;
use serde::Deserialize;
use serde::Serialize;
use url::Url;
+use sha2::Digest;
#[derive(Clone, Debug, Serialize, Deserialize, Getters)]
pub struct Source {
@@ -99,17 +100,15 @@ impl HashType {
}
HashType::Sha256 => {
trace!("SHA256 hashing buffer");
- //let mut m = sha2::Sha256::new();
- //m.update(buffer);
- //Ok(HashValue(String::from(m.finalize())))
- unimplemented!()
+ let mut m = sha2::Sha256::new();
+ m.update(buffer);
+ Ok(HashValue(String::from_utf8(m.finalize()[..].to_vec())?))
}
HashType::Sha512 => {
trace!("SHA512 hashing buffer");
- //let mut m = sha2::Sha512::new();
- //m.update(buffer);
- //Ok(HashValue(String::from(m.finalize())))
- unimplemented!()
+ let mut m = sha2::Sha512::new();
+ m.update(buffer);
+ Ok(HashValue(String::from_utf8(m.finalize()[..].to_vec())?))
}
}
}