hasher 0.1.4

Package hasher provides a Hasher trait.
Documentation
use blake2b_rs;

use crate::Hasher;

pub struct HasherBlake2B {
    k: Vec<u8>,
}

impl HasherBlake2B {
    pub fn new(k: Vec<u8>) -> Self {
        Self { k }
    }
}

impl Hasher for HasherBlake2B {
    const LENGTH: usize = 32;

    fn digest(&self, data: &[u8]) -> Vec<u8> {
        let mut dst = [0x00u8; 32];
        blake2b_rs::blake2b(&self.k, data, &mut dst);
        dst.to_vec()
    }
}