1
0
Fork 0
mirror of https://github.com/BLAKE3-team/BLAKE3 synced 2024-05-08 14:56:12 +02:00
BLAKE3/b3sum
Jack O'Connor 8dcba1514b check in the Cargo.lock for b3sum
We'll need to make sure to update this when we do a version bump. Adding
an explicit `!Cargo.lock` line to b3sum/.gitignore helps with this, by
making sure Cargo.lock shows up by defauls in searches like:

    rg "1\.2\.0"

Closes https://github.com/BLAKE3-team/BLAKE3/issues/210.
2021-12-18 15:27:57 -05:00
..
src more cleaup of undocumented API 2021-03-28 20:04:51 -04:00
tests make derive_key() return an array 2021-02-28 18:10:59 -05:00
.gitignore check in the Cargo.lock for b3sum 2021-12-18 15:27:57 -05:00
Cargo.lock check in the Cargo.lock for b3sum 2021-12-18 15:27:57 -05:00
Cargo.toml version 1.2.0 2021-11-05 14:38:36 -04:00
README.md version 1.2.0 2021-11-05 14:38:36 -04:00
what_does_check_do.md fix a typo in the check doc 2021-11-13 09:24:15 -05:00

b3sum

A command line utility for calculating BLAKE3 hashes, similar to Coreutils tools like b2sum or md5sum.

b3sum 1.2.0

USAGE:
    b3sum [FLAGS] [OPTIONS] [FILE]...

FLAGS:
    -c, --check       Reads BLAKE3 sums from the [file]s and checks them
    -h, --help        Prints help information
        --keyed       Uses the keyed mode. The secret key is read from standard
                      input, and it must be exactly 32 raw bytes.
        --no-mmap     Disables memory mapping. Currently this also disables
                      multithreading.
        --no-names    Omits filenames in the output
        --quiet       Skips printing OK for each successfully verified file.
                      Must be used with --check.
        --raw         Writes raw output bytes to stdout, rather than hex.
                      --no-names is implied. In this case, only a single
                      input is allowed.
    -V, --version     Prints version information

OPTIONS:
        --derive-key <CONTEXT>    Uses the key derivation mode, with the given
                                  context string. Cannot be used with --keyed.
    -l, --length <LEN>            The number of output bytes, prior to hex
                                  encoding (default 32)
        --num-threads <NUM>       The maximum number of threads to use. By
                                  default, this is the number of logical cores.
                                  If this flag is omitted, or if its value is 0,
                                  RAYON_NUM_THREADS is also respected.

ARGS:
    <FILE>...    Files to hash, or checkfiles to check. When no file is given,
                 or when - is given, read standard input.

See also this document about how the --check flag works.

Example

Hash the file foo.txt:

b3sum foo.txt

Time hashing a gigabyte of data, to see how fast it is:

# Create a 1 GB file.
head -c 1000000000 /dev/zero > /tmp/bigfile
# Hash it with SHA-256.
time openssl sha256 /tmp/bigfile
# Hash it with BLAKE3.
time b3sum /tmp/bigfile

Installation

Prebuilt binaries are available for Linux, Windows, and macOS (requiring the unidentified developer workaround) on the releases page. If you've installed Rust and Cargo, you can also build b3sum yourself with:

cargo install b3sum

On Linux for example, Cargo will put the compiled binary in ~/.cargo/bin. You might want to add that directory to your $PATH, or rustup might have done it for you when you installed Cargo.

If you want to install directly from this directory, you can run cargo install --path .. Or you can just build with cargo build --release, which puts the binary at ./target/release/b3sum.