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 res = hasher.finalize;
assert_eq!;
// same example for Blake2s256:
let mut hasher = new;
hasher.update;
let res = hasher.finalize;
assert_eq!;
Also, see the examples section in the RustCrypto/hashes readme.
Variable output size
This implementation supports run and compile time variable sizes.
Output size set at run time:
use Blake2bVar;
use ;
use hex;
let mut hasher = new.unwrap;
hasher.update;
let mut buf = ;
hasher.finalize_variable.unwrap;
assert_eq!;
Output size set at compile time:
use ;
use hex;
type Blake2b80 = ;
let mut hasher = new;
hasher.update;
let res = hasher.finalize;
assert_eq!;
Minimum Supported Rust Version
Rust 1.71 or higher.
Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump.
SemVer Policy
- All on-by-default features of this library are covered by SemVer
- MSRV is considered exempt from SemVer as noted above
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.