Skip to main content

Crate bash_hash

Crate bash_hash 

Source
Expand description

§RustCrypto: bash hash

crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

Pure Rust implementation of the bash hash function specified in STB 34.101.77-2020.

§Examples

use bash_hash::{BashHash256, Digest};
use hex_literal::hex;

let mut hasher = BashHash256::new();
hasher.update(b"hello world");
let hash = hasher.finalize();

assert_eq!(hash, hex!("2FC08EEC942378C0F8A6E5F1890D907B706BE393B0386E20A73D4D17A46BBD10"));

// Hex-encode hash using https://docs.rs/base16ct
let hex_hash = base16ct::upper::encode_string(&hash);
assert_eq!(hex_hash, "2FC08EEC942378C0F8A6E5F1890D907B706BE393B0386E20A73D4D17A46BBD10");

Also, see the examples section in the RustCrypto/hashes readme.

§License

The crate is 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.

Re-exports§

pub use digest;

Modules§

block_api
Block-level types

Structs§

BashHash
bash-hash hasher state generic over output size.

Traits§

Digest
Convenience wrapper trait covering functionality of cryptographic hash functions with fixed output size.
OutputSize
Trait implemented for output sizes supported by bash-hash.

Type Aliases§

BashHash256
bash-hash-256 hasher state.
BashHash384
bash-hash-384 hasher state.
BashHash512
bash-hash-512 hasher state.