RustCrypto: BLAKE2
Pure Rust implementation of the BLAKE2 hash function family.
Examples
Fixed output size
use ;
use hex;
// create a Blake2b512 object
let mut hasher = new;
// write input message
hasher.update;
// read hash digest and consume hasher
let hash = hasher.finalize;
assert_eq!;
// same example for Blake2s256:
let mut hasher = new;
hasher.update;
let hash = hasher.finalize;
assert_eq!;
// Hex-encode hash using https://docs.rs/base16ct
let hex_hash = encode_string;
assert_eq!;
Also, see the examples section in the RustCrypto/hashes readme.
Variable output size
This implementation supports output sizes variable at compile time:
use ;
use hex;
type Blake2b80 = ;
let mut hasher = new;
hasher.update;
let res = hasher.finalize;
assert_eq!;
License
The crate is licensed under either of:
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.