# Crate sha2[−][src]

## Expand description

An implementation of the SHA-2 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

```
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 readme.

## Re-exports

`pub extern crate digest;`

## Modules

## Structs

The SHA-256 hash algorithm with the SHA-224 initial hash value. The result is truncated to 224 bits.

The SHA-256 hash algorithm with the SHA-256 initial hash value.

The SHA-512 hash algorithm with the SHA-384 initial hash value. The result is truncated to 384 bits.

The SHA-512 hash algorithm with the SHA-512 initial hash value.

The SHA-512 hash algorithm with the SHA-512/224 initial hash value. The result is truncated to 224 bits.

The SHA-512 hash algorithm with the SHA-512/256 initial hash value. The result is truncated to 256 bits.

## Traits

The `Digest`

trait specifies an interface common for digest functions.