This is a Rust implementation of various cryptographic hash functions. The following algorithms are currently supported:
-
djb2
-
sdbm
-
MD5
-
SHA-1
-
SHA-2-224
-
SHA-2-256
-
SHA-2-384
-
SHA-2-512
-
SHA-3-224
-
SHA-3-256
-
SHA-3-384
-
SHA-3-512
Here's an example of how to use the sha2::sha256
hash function:
use hashes::sha2::sha256::hash;
fn main() {
let s = "abc";
let digest = hash(s.as_bytes());
assert_eq!(
digest.into_bytes(),
[
0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d, 0xae,
0x22, 0x23, 0xb0, 0x03, 0x61, 0xa3, 0x96, 0x17, 0x7a, 0x9c, 0xb4, 0x10, 0xff, 0x61,
0xf2, 0x00, 0x15, 0xad
]
);
}
Enable "std" feature if you want to use Display, Debug of FromStr for the output of hash functions (i.e. for Digest struct).
This project is dual-licensed under the Apache License 2.0 and the MIT License. You may choose either license to use this software.