1
0
Fork 0
mirror of https://github.com/BLAKE3-team/BLAKE3 synced 2024-05-08 06:36:11 +02:00
BLAKE3/b3sum
Jack O'Connor f10d41924a regenerate b3sum/Cargo.lock 2022-11-20 12:20:57 -08:00
..
src Split short summary from full help text 2022-10-03 13:28:52 +09: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 regenerate b3sum/Cargo.lock 2022-11-20 12:20:57 -08:00
Cargo.toml Split short summary from full help text 2022-10-03 13:28:52 +09:00
README.md Split short summary from full help text 2022-10-03 13:28:52 +09: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.

Usage: b3sum [OPTIONS] [FILE]...

Arguments:
  [FILE]...  Files to hash, or checkfiles to check

Options:
  -l, --length <LEN>
          The number of output bytes, prior to hex encoding [default: 32]
      --num-threads <NUM>
          The maximum number of threads to use
      --keyed
          Uses the keyed mode
      --derive-key <CONTEXT>
          Uses the key derivation mode, with the given context string
      --no-mmap
          Disables memory mapping
      --no-names
          Omits filenames in the output
      --raw
          Writes raw output bytes to stdout, rather than hex
  -c, --check
          Reads BLAKE3 sums from the [FILE]s and checks them
      --quiet
          Skips printing OK for each successfully verified file
  -h, --help
          Print help information (use `--help` for more detail)
  -V, --version
          Print version information

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.