#digest #hash #meta #crypto

crypto-hashes

Meta crate for cryptographic hash functions written in pure Rust

7 releases (breaking)

0.10.0 Dec 10, 2021
0.9.0 Jul 16, 2020
0.7.0 Nov 15, 2017
0.4.0 Apr 6, 2017
0.1.0 Nov 12, 2016

#37 in #meta

Download history 579/week @ 2024-01-10 598/week @ 2024-01-17 702/week @ 2024-01-24 556/week @ 2024-01-31 804/week @ 2024-02-07 819/week @ 2024-02-14 646/week @ 2024-02-21 637/week @ 2024-02-28 1029/week @ 2024-03-06 720/week @ 2024-03-13 625/week @ 2024-03-20 417/week @ 2024-03-27 920/week @ 2024-04-03 667/week @ 2024-04-10 681/week @ 2024-04-17 547/week @ 2024-04-24

2,932 downloads per month
Used in 6 crates (4 directly)

MIT/Apache

7KB

Collection of cryptographic hash functions written in pure Rust. This crate provides convenient re-exports from other crates. Additionally it's a no_std crate, so it can be easily used in embedded applications.

Supported algorithms

Algorithms marked by [weak] are not included by default. To use them enable include_weak crate feature.

Usage

use crypto_hashes::digest::Digest;
use crypto_hashes::sha3::Sha3_256;

// create a SHA3-256 object
let mut hasher = Sha3_256::default();

// write input message
hasher.update(b"abc");

// read result (this will consume hasher)
let out = hasher.finalize();

assert_eq!(out[..], [0x3a, 0x98, 0x5d, 0xa7, 0x4f, 0xe2, 0x25, 0xb2,
                     0x04, 0x5c, 0x17, 0x2d, 0x6b, 0xd3, 0x90, 0xbd,
                     0x85, 0x5f, 0x08, 0x6e, 0x3e, 0x9d, 0x52, 0x5b,
                     0x46, 0xbf, 0xe2, 0x45, 0x11, 0x43, 0x15, 0x32]);

Dependencies

~1.5MB
~17K SLoC