use sha1::{Sha1};
use sha::{self, ShaHash};
#[derive(Clone)]
pub struct ShaHashBuilder {
sha: Sha1
}
impl ShaHashBuilder {
pub fn new() -> ShaHashBuilder {
ShaHashBuilder{ sha: Sha1::new() }
}
pub fn add_bytes(mut self, bytes: &[u8]) -> ShaHashBuilder {
self.sha.update(bytes);
self
}
pub fn build(&self) -> ShaHash {
let mut buffer = [0u8; sha::SHA_HASH_LEN];
self.sha.output(&mut buffer);
buffer.into()
}
}