#hash

no-std jh

Pure Rust implementation of the JH cryptographic hash function

5 unstable releases

Uses new Rust 2024

new 0.2.0 Mar 27, 2026
0.2.0-rc.1 Jan 24, 2026
0.2.0-rc.0 Jan 4, 2026
0.1.0 Jun 11, 2023
0.0.0 Dec 16, 2016

#2965 in Cryptography

Download history 2840/week @ 2025-12-11 5493/week @ 2025-12-18 2459/week @ 2025-12-25 2812/week @ 2026-01-01 8375/week @ 2026-01-08 2734/week @ 2026-01-15 7861/week @ 2026-01-22 8094/week @ 2026-01-29 7779/week @ 2026-02-05 3593/week @ 2026-02-12 4559/week @ 2026-02-19 9014/week @ 2026-02-26 6642/week @ 2026-03-05 4896/week @ 2026-03-12 13808/week @ 2026-03-19 10189/week @ 2026-03-26

36,590 downloads per month
Used in 7 crates

MIT/Apache

800KB
364 lines

RustCrypto: JH

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

Pure Rust implementation of the JH cryptographic hash function.

There are 4 standard versions of the JH hash function:

  • JH-224
  • JH-256
  • JH-384
  • JH-512

Examples

use jh::{Digest, Jh256};
use hex_literal::hex;

let mut hasher = Jh256::new();
hasher.update(b"hello");
let hash = hasher.finalize();

assert_eq!(hash, hex!("94fd3f4c564957c6754265676bf8b244c707d3ffb294e18af1f2e4f9b8306089"));

See the digest crate docs for additional examples.

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