use crypto::digest::{Digest};
use crypto::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.input(bytes);
self
}
pub fn build(&self) -> ShaHash {
let mut buffer = [0u8; sha::SHA_HASH_LEN];
self.sha.clone().result(&mut buffer);
buffer.into()
}
}