[][src]Crate shabal

An implementation of the Shabal cryptographic hash algorithm.

There are 5 standard algorithms specified in the Shabal standard:

  • Shabal192, which is the Shabal algorithm with the result truncated to 192 bits
  • Shabal224, which is the Shabal algorithm with the result truncated to 224 bits
  • Shabal256, which is the Shabal algorithm with the result truncated to 256 bits.
  • Shabal384, which is the Shabal algorithm with the result truncated to 384 bits.
  • Shabal512, which is the Shabal algorithm with the result not truncated.

There is a single Shabal algorithm. All variants have different intialisation and apart Shabal512 truncate the result.

Usage

use hex_literal::hex;
use shabal::{Shabal256, Digest};

// create a Shabal256 hasher instance
let mut hasher = Shabal256::new();

// process input message
hasher.update(b"helloworld");

// acquire hash digest in the form of GenericArray,
// which in this case is equivalent to [u8; 32]
let result = hasher.finalize();
assert_eq!(result[..], hex!("d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8"));

Also see RustCrypto/hashes readme.

Re-exports

pub use digest;

Structs

Shabal192

The Shabal hash algorithm with the Shabal-192 initial hash value. The result is truncated to 192 bits.

Shabal224

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

Shabal256

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

Shabal384

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

Shabal512

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

Traits

Digest

The Digest trait specifies an interface common for digest functions.