blake2

Collection of cryptographic hash functions written in pure Rust

Latest version: 0.10.6 registry icon
Maintenance score
100
Safety score
98
Popularity score
96
Check your open source dependency risks. Get immediate insight about security, stability and licensing risks.
Security
  Vulnerabilities
Version Suggest Low Medium High Critical
0.10.6 0 0 0 0 0
0.10.5 0 0 0 0 0
0.10.4 0 0 0 0 0
0.10.3 0 0 0 0 0
0.10.2 0 0 0 0 0
0.10.1 0 0 0 0 0
0.10.0 0 0 0 0 0
0.9.2 0 0 0 0 0
0.9.1 0 0 0 0 0
0.9.0 0 0 0 0 0
0.8.1 0 0 0 0 0
0.8.0 0 0 1 0 0
0.7.1 0 0 1 0 0
0.7.0 0 0 1 0 0
0.6.1 0 0 1 0 0
0.6.0 0 0 1 0 0
0.5.2 0 0 1 0 0
0.5.1 0 0 1 0 0
0.5.0 0 0 1 0 0
0.4.0 0 0 1 0 0
0.3.0 0 0 1 0 0
0.2.0 0 0 1 0 0
0.1.1 0 0 1 0 0
0.1.0 0 0 1 0 0
0.0.0 0 0 1 0 0

Stability
Latest release:

0.10.6 - This version is safe to use because it has no known security vulnerabilities at this time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform

Licensing

Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.

Apache-2.0   -   Apache License 2.0

Not a wildcard

Not proprietary

OSI Compliant


MIT   -   MIT License

Not a wildcard

Not proprietary

OSI Compliant



RustCrypto: Hashes

Project Chat dependency status Apache2/MIT licensed

Collection of cryptographic hash functions written in pure Rust.

All algorithms reside in separate crates and are implemented using traits from digest crate. Usage examples are provided in digest and hash implementation crate docs. Additionally all crates do not require the standard library (i.e. no_std capable) and can be easily used for bare-metal or WebAssembly programming by disabling default crate features.

Supported Algorithms

Note: For new applications, or where compatibility with other existing standards is not a primary concern, we strongly recommend to use either BLAKE3, SHA-2 or SHA-3.

Algorithm Crate Crates.io Documentation MSRV Security
Ascon hash ascon‑hash256 crates.io Documentation 1.85 πŸ’š
Bash hash bash‑hash crates.io Documentation 1.85 πŸ’š
BelT hash belt‑hash crates.io Documentation 1.85 πŸ’š
BLAKE2 blake2 crates.io Documentation 1.85 πŸ’š
cSHAKE cshake crates.io Documentation 1.85 πŸ’š
FSB fsb crates.io Documentation 1.85 πŸ’š
GOST R 34.11-94 gost94 crates.io Documentation 1.85 πŸ’›
GrΓΈstl (Groestl) groestl crates.io Documentation 1.85 πŸ’š
JH jh crates.io Documentation 1.85 πŸ’š
KangarooTwelve k12 crates.io Documentation 1.85 πŸ’š
Kupyna kupyna crates.io Documentation 1.85 πŸ’š
MD2 md2 crates.io Documentation 1.85 πŸ’”
MD4 md4 crates.io Documentation 1.85 πŸ’”
MD5 md5 ❗ crates.io Documentation 1.85 πŸ’”
RIPEMD ripemd crates.io Documentation 1.85 πŸ’š
SHA-1 sha1 crates.io Documentation 1.85 πŸ’”
SHA-1 Checked sha1-checked crates.io Documentation 1.85 πŸ’›
SHA-2 sha2 crates.io Documentation 1.85 πŸ’š
SHA-3 (Keccak) sha3 crates.io Documentation 1.85 πŸ’š
SHABAL shabal crates.io Documentation 1.85 πŸ’š
Skein skein crates.io Documentation 1.85 πŸ’š
SM3 (OSCCA GM/T 0004-2012) sm3 crates.io Documentation 1.85 πŸ’š
Streebog (GOST R 34.11-2012) streebog crates.io Documentation 1.85 πŸ’›
Tiger tiger crates.io Documentation 1.85 πŸ’š
TurboSHAKE turbo-shake crates.io Documentation 1.85 πŸ’š
Whirlpool whirlpool crates.io Documentation 1.85 πŸ’š

NOTE: the blake3 crate implements the digest traits used by the rest of the hashes in this repository, but is maintained by the BLAKE3 team.

Security Level Legend

The following describes the security level ratings associated with each hash function (i.e. algorithms, not the specific implementation):

Heart Description
πŸ’š No known successful attacks
πŸ’› Theoretical break: security lower than claimed
πŸ’” Attack demonstrated in practice: avoid if at all possible

See the Security page on Wikipedia for more information.

Crate Names

Whenever possible crates are published under the same name as the crate folder. Owners of md5 declined to participate in this project. This crate does not implement the digest traits, so it is not interoperable with the RustCrypto ecosystem. This is why we publish our MD5 implementation as md-5 and mark it with the ❗ mark. Note that the library itself is named as md5, i.e. inside use statements you should use md5, not md_5.

License

All crates in this repository are 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.