blake2_c
is a safe Rust wrapper around the C implementation of
BLAKE2. It exposes all the parameters
that Blake2 supports, like personalization and tree hashing.
By default this crate links against the portable "ref"
implementation, but if
you turn on the native
feature it will link against the "sse"
implementation, which
uses SIMD instructions if your processor supports them. That gives about an
8% speedup on my machine, but the resulting binary is probably not
portable.
This crate supports no_std
. The std
feature is on by default, to
provide implementations of std::io::Write
, but it can be disabled in the
caller's Cargo.toml
using
default-features = false
.
Originally based on libb2-sys
by
@cmr and @cesarb and blake2-rfc
by @cesarb.