8 releases (4 breaking)

Uses new Rust 2024

0.5.0-rc.2 Feb 2, 2026
0.5.0-rc.1 Jan 24, 2026
0.4.1 Feb 17, 2022
0.4.0 Dec 7, 2021
0.1.0 Feb 25, 2019

#2966 in Cryptography

Download history 7538/week @ 2025-11-20 4587/week @ 2025-11-27 3381/week @ 2025-12-04 3104/week @ 2025-12-11 5486/week @ 2025-12-18 2414/week @ 2025-12-25 2808/week @ 2026-01-01 8365/week @ 2026-01-08 2692/week @ 2026-01-15 7825/week @ 2026-01-22 7986/week @ 2026-01-29 7532/week @ 2026-02-05 3370/week @ 2026-02-12 4357/week @ 2026-02-19 8823/week @ 2026-02-26 6555/week @ 2026-03-05

23,823 downloads per month
Used in 7 crates

MIT/Apache

23KB
413 lines

RustCrypto: Shabal

crate Docs Apache2/MIT licensed Rust Version Project Chat Build Status

Pure Rust implementation of the Shabal cryptographic hash algorithm.

There are 5 standard algorithms specified in the Shabal standard: Shabal192, Shabal224, Shabal256, Shabal384, Shabal512.

Examples

use shabal::{Shabal256, Digest};
use hex_literal::hex;

let mut hasher = Shabal256::new();
hasher.update(b"helloworld");
let hash = hasher.finalize();

assert_eq!(hash, hex!("d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8"));

// Hex-encode hash using https://docs.rs/base16ct
let hex_hash = base16ct::lower::encode_string(&hash);
assert_eq!(hex_hash, "d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8");

Also, see the examples section in the RustCrypto/hashes readme.

License

The crate is 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.

Dependencies

~665KB
~17K SLoC