1
0
Fork 0
mirror of https://github.com/BLAKE3-team/BLAKE3 synced 2024-06-10 22:36:04 +02:00
BLAKE3/b3sum/README.md
2022-10-03 13:28:52 +09:00

82 lines
2.3 KiB
Markdown

# b3sum
A command line utility for calculating
[BLAKE3](https://github.com/BLAKE3-team/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](https://github.com/BLAKE3-team/BLAKE3/blob/master/b3sum/what_does_check_do.md).
# 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
Prebuilt binaries are available for Linux, Windows, and macOS (requiring
the [unidentified developer
workaround](https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac))
on the [releases page](https://github.com/BLAKE3-team/BLAKE3/releases).
If you've [installed Rust and
Cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html),
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`.