RustCrypto: Shabal

crate Docs Apache2/MIT licensed Rust Version Build Status

Pure Rust implementation of the Shabal cryptographic hash algorithm.

Documentation

About

There are 5 standard algorithms specified in the Shabal standard:

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

Usage

```rust use shabal::{Shabal256, Digest};

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

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

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

Minimum Supported Rust Version

Rust 1.41 or higher.

Minimum supported Rust version can be changed in the future, but it will be done with a minor version bump.

SemVer Policy

License

Licensed under either of:

at your option.

Contribution

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.