1 unstable release
0.4.1 | Dec 21, 2023 |
---|---|
0.4.0 |
|
0.3.2 |
|
0.2.0 |
|
0.1.0-rc3 |
|
#318 in Filesystem
18KB
286 lines
chksum-cli
A simple checksum calculator.
Motivation
Various tools like md5sum
, sha1sum
, b2sum
, sha224sum
, etc., allow users to calculate file-based hash digests. However, these tools focus on file-level checksums, making it cumbersome to handle scenarios like calculating digests of whole directories. This motivated the creation of chksum
to offer a simplified interface for such use cases.
find dir/ -type f | sort | xargs cat | sha224sum
With chksum
, you can achieve the same result with your preferred hash algorithm:
chksum sha2-224 dir/
Key Features
- Implemented in pure Rust
- No unsafe code
- Configurable via Cargo features
- Multithreaded
Installation
Install the chksum
binary using cargo install
:
cargo install chksum-cli
Usage
General Help
$ chksum help
A simple checksum calculator.
Usage: chksum [OPTIONS] <COMMAND>
Commands:
md5 Calculate MD5 digest
sha1 Calculate SHA-1 digest
sha2-224 Calculate SHA-2 224 digest
sha2-256 Calculate SHA-2 256 digest
sha2-384 Calculate SHA-2 384 digest
sha2-512 Calculate SHA-2 512 digest
help Print this message or the help of the given subcommand(s)
Options:
-c, --color <COLOR> Show colored output [default: auto] [possible values: always, auto, never]
-h, --help Print help
-V, --version Print version
Help for a Specific Algorithm
$ chksum help sha2-224
Calculate SHA-2 224 digest
Usage: chksum sha2-224 [OPTIONS] <PATH>...
Arguments:
<PATH>... Path to file or directory
Options:
-s, --stdin Calculate digest from stdin
-c, --color <COLOR> Show colored output [default: auto] [possible values: always, auto, never]
-h, --help Print help
File Processing
$ chksum sha2-224 LICENSE
LICENSE: 99258bca0d23c69388dd53412f1009132753b89459359a401a6ed158
Directory Processing
$ chksum sha1 src/
src/: 03e4ae615c034f5db47c72bd5c6c9e5bf450a2bd
Standard Input Processing
$ echo -n admin1 | chksum md5 --stdin
<stdin>: e00cf25ad42683b3df678c61f42c6bda
Library
Check out the chksum
crate to see the library that allows you to calculate digests of files and directories with an easy-to-use interface.
Hash Algorithms
This binary provides implementations for the following hash algorithms:
- MD5 - RFC 1321: The MD5 Message-Digest Algorithm
- SHA-1 - RFC 3174: US Secure Hash Algorithm 1 (SHA1)
- SHA-2 family (SHA-224, SHA-256, SHA-386, SHA-512) - FIPS PUB 180-4: Secure Hash Standard
Features
Algorithms
md5
: Enables MD5 hash algorithm.sha1
: Enables SHA-1 hash algorithm.sha2
: Enables SHA-2 hash family algorithms.sha2-224
: Enables only SHA-2 224 hash algorithm.sha2-256
: Enables only SHA-2 256 hash algorithm.sha2-384
: Enables only SHA-2 384 hash algorithm.sha2-512
: Enables only SHA-2 512 hash algorithm.
By default, all of them are enabled.
Extra Options
color
: Enables colored output.
By default, all of them are enabled.
Disclaimer
The code is under development, and the interface may change in the future.
License
This crate is licensed under the MIT License.
Dependencies
~6–14MB
~195K SLoC