Crate blake2_c

Source
Expand description

Deprecation: The blake2b_simd crate has better performance than this one, with the added benefit of being pure Rust. This library probably won’t be developed any further. blake2b_simd doesn’t currently support BLAKE2s, but if there are any callers that need it I can add support or fork the crate, so let me know.

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.

Modules§

blake2b
The more common version of BLAKE2, optimized for 64-bit processors.
blake2s
The less common version of BLAKE2, optimized for smaller processors.

Structs§

Digest
A finalized BLAKE2 hash.

Functions§

blake2b_256
An all-at-once convenience function for BLAKE2b-256.
blake2b_512
An all-at-once convenience function for BLAKE2b-512.
blake2s_256
An all-at-once convenience function for BLAKE2s-256.