1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
//! This crate is transcompiled from blake2b-ref
//!
//! # Example:
//!
//! ```
//! use blake2b_ref::Blake2bBuilder;
//!
//! fn hash_message(msg: &[u8]) -> [u8; 32] {
//! let mut output = [0u8; 32];
//! let mut blake2b = Blake2bBuilder::new(32).personal(b"SMT").build();
//! blake2b.update(msg);
//! blake2b.finalize(&mut output);
//! output
//! }
//! ```
#![cfg_attr(not(test), no_std)]
mod blake2b_ref;
mod libc;
#[cfg(test)]
mod tests;
mod wrapper;
pub use crate::wrapper::{blake2b, Blake2b, Blake2bBuilder};
trait Fill {
fn fill_bytes(&mut self, num: u8, size: usize);
}
impl Fill for [u8] {
fn fill_bytes(&mut self, num: u8, size: usize) {
for i in &mut self[..size] {
*i = num;
}
}
}