1
0
Fork 0
mirror of https://github.com/BLAKE3-team/BLAKE3 synced 2024-05-30 03:16:23 +02:00
BLAKE3/b3sum
Jack O'Connor 0694d0f6a5 fix a typo in the docs 2020-05-23 15:13:19 -04:00
..
src remove an extra space in some help text 2020-05-23 14:28:10 -04:00
tests add a test comment 2020-05-23 14:56:43 -04:00
Cargo.toml version 0.3.4 2020-05-23 14:37:49 -04:00
README.md version 0.3.4 2020-05-23 14:37:49 -04:00
what_does_check_do.md fix a typo in the docs 2020-05-23 15:13:19 -04:00

b3sum

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

b3sum 0.3.4

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

The standard way to install b3sum is:

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.

By default, b3sum enables the assembly implementations, AVX-512 support, and multi-threading features of the underlying blake3 crate. To avoid this (for example, if your C compiler does not support AVX-512), you can use Cargo's --no-default-features flag.