#sha-2 #digest #checksum

chksum-sha2

An implementation of SHA-2 hash functions with a straightforward interface for computing digests of bytes, files, directories, and more

2 unstable releases

0.1.0 Jan 2, 2025
0.0.0 Dec 21, 2023

#2723 in Cryptography

Download history 584/week @ 2025-09-11 582/week @ 2025-09-18 906/week @ 2025-09-25 1156/week @ 2025-10-02 1220/week @ 2025-10-09 928/week @ 2025-10-16 972/week @ 2025-10-23 745/week @ 2025-10-30 652/week @ 2025-11-06 694/week @ 2025-11-13 1092/week @ 2025-11-20 671/week @ 2025-11-27 623/week @ 2025-12-04 819/week @ 2025-12-11 591/week @ 2025-12-18 199/week @ 2025-12-25

2,353 downloads per month
Used in 2 crates (via chksum)

MIT license

15KB

chksum-sha2

GitHub Build docs.rs MSRV deps.rs unsafe forbidden LICENSE

An implementation of SHA-2 hash functions with a straightforward interface for computing digests of bytes, files, directories, and more.

Setup

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-sha2

Usage

Use 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.

Features

Cargo features are used to enable or disable specific algorithm functions.

  • 224 enables SHA-2 224, accessible via the sha2_224 module,
  • 256 enables SHA-2 256, accessible via the sha2_256 module,
  • 384 enables SHA-2 384, accessible via the sha2_384 module,
  • 512 enables SHA-2 512, accessible via the sha2_512 module.

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,512

License

This crate is licensed under the MIT License.

Dependencies

~0.2–3.5MB
~67K SLoC