oconnor663 / blake2_c.rs

a safe wrapper around the BLAKE2 C implementation (deprecated in favor of blake2b_simd and blake2s_simd)
MIT License
7 stars 0 forks source link

blake2_c.rs Travis build AppVeyor build crates.io docs.rs

Deprecation: The blake2b_simd and blake2s_simd crates have better performance than this one, with the added benefit of being pure Rust. This library is deprecated.

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.