An implementation of SHA-2 hash functions with a straightforward interface for computing digests of bytes, files, directories, and more.
To use this crate, add the following entry to your Cargo.toml file in the dependencies section:
[dependencies]
chksum-sha2 = "0.1.0"Alternatively, you can use the cargo add subcommand:
cargo add chksum-sha2Use the chksum function to calculate digest of file, directory and so on.
use chksum_sha2::sha2_256;
let file = File::open(path)?;
let digest = sha2_256::chksum(file)?;
assert_eq!(
digest.to_hex_lowercase(),
"44752f37272e944fd2c913a35342eaccdd1aaf189bae50676b301ab213fc5061"
);For more usage examples, refer to the documentation available at docs.rs.
Cargo features are used to enable or disable specific algorithm functions.
224enables SHA-2 224, accessible via thesha2_224module,256enables SHA-2 256, accessible via thesha2_256module,384enables SHA-2 384, accessible via thesha2_384module,512enables SHA-2 512, accessible via thesha2_512module.
By default all of them are enabled.
To customize your setup, turn off the default features and enable only those that you want in your Cargo.toml file:
[dependencies]
chksum-sha2 = { version = "0.1.0", default-features = no, features = ["256", "512"] }Alternatively, you can use the cargo add subcommand:
cargo add chksum-sha2 --no-default-features --features 256,512This crate is licensed under the MIT License.