//! An implementation of the [SHA-3][1] cryptographic hash algorithms. //! //! There are 6 standard algorithms specified in the SHA-3 standard: //! //! * `SHA3-224` //! * `SHA3-256` //! * `SHA3-384` //! * `SHA3-512` //! * `SHAKE128`, an extendable output function (XOF) //! * `SHAKE256`, an extendable output function (XOF) //! * `Keccak224`, `Keccak256`, `Keccak384`, `Keccak512` (NIST submission //! without padding changes) //! //! Additionally supports `TurboSHAKE`. //! //! # Examples //! //! 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}; //! //! // create a SHA3-256 object //! let mut hasher = Sha3_256::new(); //! //! // write input message //! hasher.update(b"abc"); //! //! // read hash digest //! let result = hasher.finalize(); //! //! assert_eq!(result[..], hex!(" //! 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 //! ")[..]); //! ``` //! //! SHAKE functions have an extendable output, so finalization method returns //! XOF reader from which results of arbitrary length can be read. Note that //! these functions do not implement `Digest`, so lower-level traits have to //! be imported: //! //! ``` //! use sha3::{Shake128, digest::{Update, ExtendableOutput, XofReader}}; //! use hex_literal::hex; //! //! let mut hasher = Shake128::default(); //! hasher.update(b"abc"); //! let mut reader = hasher.finalize_xof(); //! let mut res1 = [0u8; 10]; //! reader.read(&mut res1); //! assert_eq!(res1, hex!("5881092dd818bf5cf8a3")); //! ``` //! //! Also see [RustCrypto/hashes][2] readme. //! //! [1]: https://en.wikipedia.org/wiki/SHA-3 //! [2]: https://github.com/RustCrypto/hashes
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.