b3sum

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

``` b3sum 0.3.3

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

FLAGS: -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 --no-names Omits filenames in the output --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 Uses the key derivation mode, with the given context string. Cannot be used with --keyed. -l, --length The number of output bytes, prior to hex encoding (default 32) --num-threads 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, RAYONNUMTHREADS is also respected.

ARGS: ... ```

Example

Hash the file foo.txt:

bash b3sum foo.txt

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

```bash

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.