Crate blake2_c[][src]

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.



The more common version of BLAKE2, optimized for 64-bit processors.


The less common version of BLAKE2, optimized for smaller processors.



A finalized BLAKE2 hash.



An all-at-once convenience function for BLAKE2b-256.


An all-at-once convenience function for BLAKE2b-512.


An all-at-once convenience function for BLAKE2s-256.