sha2 0.8.2

Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512.
Documentation
An implementation of the [SHA-2][1] cryptographic hash algorithms. There are 6 standard algorithms specified in the SHA-2 standard: * `Sha224`, which is the 32-bit `Sha256` algorithm with the result truncated to 224 bits. * `Sha256`, which is the 32-bit `Sha256` algorithm. * `Sha384`, which is the 64-bit `Sha512` algorithm with the result truncated to 384 bits. * `Sha512`, which is the 64-bit `Sha512` algorithm. * `Sha512Trunc224`, which is the 64-bit `Sha512` algorithm with the result truncated to 224 bits. * `Sha512Trunc256`, which is the 64-bit `Sha512` algorithm with the result truncated to 256 bits. Algorithmically, there are only 2 core algorithms: `Sha256` and `Sha512`. All other algorithms are just applications of these with different initial hash values, and truncated to different digest bit lengths. # Usage ```rust # #[macro_use] extern crate hex_literal; # extern crate sha2; # fn main() { use sha2::{Sha256, Sha512, Digest}; // create a Sha256 object let mut hasher = Sha256::new(); // write input message hasher.input(b"hello world"); // read hash digest and consume hasher let result = hasher.result(); assert_eq!(result[..], hex!(" b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9 ")[..]); // same for Sha512 let mut hasher = Sha512::new(); hasher.input(b"hello world"); let result = hasher.result(); assert_eq!(result[..], hex!(" 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f 989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f ")[..]); # } ``` Also see [RustCrypto/hashes][2] readme. [1]: https://en.wikipedia.org/wiki/SHA-2 [2]: https://github.com/RustCrypto/hashes