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; } } }