#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

#31 in #meta

Download history 536/week @ 2023-11-26 931/week @ 2023-12-03 586/week @ 2023-12-10 389/week @ 2023-12-17 129/week @ 2023-12-24 308/week @ 2023-12-31 494/week @ 2024-01-07 503/week @ 2024-01-14 772/week @ 2024-01-21 638/week @ 2024-01-28 655/week @ 2024-02-04 826/week @ 2024-02-11 697/week @ 2024-02-18 607/week @ 2024-02-25 1026/week @ 2024-03-03 211/week @ 2024-03-10

2,555 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