Implementation of the SHA-3 family of cryptographic hash algorithms.
There are 4 standard fixed-size algorithms specified in the SHA-3 standard:
SHA3-224, SHA3-256, SHA3-384, SHA3-512.
SHAKE128 and SHAKE256 extendable output functions (XOF) are defined in the shake crate
Additionally, this crate supports:
Keccak224,Keccak256,Keccak384,Keccak512: NIST submission without padding changesKeccak256Full: CryptoNight variant of SHA-3
Output size of SHA3-256 is fixed, so its functionality is usually
accessed via the Digest trait:
use hex_literal::hex;
use sha3::{Digest, Sha3_256};
let mut hasher = Sha3_256::new();
hasher.update(b"abc");
let hash = hasher.finalize();
assert_eq!(hash, hex!("3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532"));See the digest crate docs for additional examples.
The crate is licensed under either of:
at your option.
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.