aboutsummaryrefslogtreecommitdiff
path: root/3rdparty/BLAKE3/b3sum/README.md
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/BLAKE3/b3sum/README.md')
-rw-r--r--3rdparty/BLAKE3/b3sum/README.md86
1 files changed, 86 insertions, 0 deletions
diff --git a/3rdparty/BLAKE3/b3sum/README.md b/3rdparty/BLAKE3/b3sum/README.md
new file mode 100644
index 000000000..e97830b7c
--- /dev/null
+++ b/3rdparty/BLAKE3/b3sum/README.md
@@ -0,0 +1,86 @@
+# b3sum
+
+A command line utility for calculating
+[BLAKE3](https://github.com/BLAKE3-team/BLAKE3) hashes, similar to
+Coreutils tools like `b2sum` or `md5sum`.
+
+```
+b3sum 0.3.6
+
+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](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`.