pub fn hmac<T: AsRef<[u8]>>( key: &[u8], text: &[u8], block_length: usize, sha: fn(&[u8]) -> T, ) -> T