#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

#2720 in Cryptography

Download history 604/week @ 2024-07-19 596/week @ 2024-07-26 642/week @ 2024-08-02 410/week @ 2024-08-09 500/week @ 2024-08-16 601/week @ 2024-08-23 340/week @ 2024-08-30 343/week @ 2024-09-06 304/week @ 2024-09-13 419/week @ 2024-09-20 325/week @ 2024-09-27 472/week @ 2024-10-04 411/week @ 2024-10-11 466/week @ 2024-10-18 719/week @ 2024-10-25 463/week @ 2024-11-01

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