digester

Crates.iodigester
lib.rsdigester
version0.1.0
sourcesrc
created_at2022-03-24 15:54:04.001172
updated_at2022-03-24 15:54:04.001172
descriptionMessage digest generator for many algorithms
homepage
repositoryhttps://gitlab.com/cky/digester
max_upload_size
id555797
size36,486
Chris Jester-Young (cky)

documentation

README

Digester

Digester is a tool for generating hashes and hash-based message authentication codes (MACs). It was written as a demonstration of some of Rust's awesome features, including the extensive use of Cargo features, trait objects, and clap's derive macros.

Another cool tooling feature is that you can rename crates, so that you can import a package using a crate name that you prefer. For example, I import the md-5 package under the crate name md5 to retain consistency with the md2 and md4 crates. (I would have loved to import groestl as grøstl, but crate names are required to be ASCII as of current writing.)

Usage

As generated by clap, when all features are enabled:

USAGE:
    digester [OPTIONS] --algorithm <ALGORITHM> [FILES]...

ARGS:
    <FILES>...    Files to hash; stdin by default

OPTIONS:
    -a, --algorithm <ALGORITHM>      Hash algorithm to use [possible values: blake2b, blake2s,
                                     blake3, fsb160, fsb224, fsb256, fsb384, fsb512, gost94-crypto-
                                     pro, gost94s2015, grøstl224, grøstl256, grøstl384, grøstl512,
                                     md2, md4, md5, ripemd160, ripemd256, ripemd320, sha1, sha224,
                                     sha256, sha384, sha512, sha512-224, sha512-256, sha3-224, sha3-
                                     256, sha3-384, sha3-512, shabal192, shabal224, shabal256,
                                     shabal384, shabal512, sm3, streebog256, streebog512, tiger,
                                     tiger2, whirlpool]
    -h, --help                       Print help information
        --mac-key <MAC_KEY>          MAC key [env: MAC_KEY]
        --mac-key-fd <MAC_KEY_FD>    File descriptor for MAC key
    -r, --reverse                    Reverse the format of the output
    -V, --version                    Print version information
Commit count: 19

cargo fmt