Skip to content

c0m4r/rust-whirlpoolsum

Repository files navigation

Rust License: CC0-1.0

image

Rust version of the whirlpoolsum that prints and checks WHIRLPOOL 512-bit checksums.

Vibe-coded with Qwen3 (Max+Coder) / Claude Sonnet 4.5 (Thinking+Extended) / Gemini 3 Pro (High).

Integrates Seccomp/BPF sandboxing, Landlock and AppArmor profile as a measure of protection against supply chain attacks.

Quick install (x86_64/glibc)

wget https://github.com/c0m4r/rust-whirlpoolsum/releases/download/0.9.3/whirlpoolsum
echo "bc1b8a333c9c99fca7bdc7e7b7451c372311531db203b1683e5aae5318256569  whirlpoolsum" | sha256sum -c || rm -f whirlpoolsum
sudo mv whirlpoolsum /usr/local/bin/
sudo chmod +x /usr/local/bin/whirlpoolsum
echo "4c9d4ab9c9f20cc8d54e9f4b5cee186697cb80556f47dab4265dec172f880120a3a060df66ec4be1a7d427f540d2a7aa58d12fa600b789ced14adb485911bca9  /usr/local/bin/whirlpoolsum" | whirlpoolsum -c
whirlpoolsum -V

On Alpine install gcompat with apk add gcompat

Other platforms (ARM64, RISC-V, Windows x64)

Get the latest binaries at https://github.com/c0m4r/rust-whirlpoolsum/releases/tag/0.9.3

Build from source

  1. Install Rust
  2. Run cargo build --release or use ./build.sh for extended testing
  3. You'll find the binary executable in ./target/release/whirlpoolsum

Cross-compile

cargo install cross --git https://github.com/cross-rs/cross
rustc --print=target-list # find target and consult it with the one on cross-rs page
rustup target add aarch64-unknown-linux-gnu
rustup target add riscv64gc-unknown-linux-gnu
rustup target add x86_64-pc-windows-gnu
rustup target add x86_64-unknown-linux-musl
./cross.sh || cross build --target aarch64-unknown-linux-gnu --release

Usage

Text checksum (stdin)

echo -n "All your base are belong to us" | whirlpoolsum

File checksum

whirlpoolsum example.txt

Multiple files checksums (with multithreading)

whirlpoolsum --max-files 1000 --max-file-size 100M /usr/sbin/*

Verify file checksum (stdin)

echo -n "abcdef12345(...)  example.txt" | whirlpoolsum -c

Verify file checksum with a checksum file

whirlpoolsum -c example.txt.wrl

Print program version

whirlpoolsum --version

Benchmarking

Benchmark (measure time and throughput for a given filename(s))

whirlpoolsum --benchmark example.txt

Benchmark (system test with score)

whirlpoolsum --benchmark

TUI

Text-based UI with basic functionality using ratatui

whirlpoolsum --tui

...and a snake game as a bonus :)

Configuration options

--max-file-size <MAX_FILE_SIZE>  Maximum file size (e.g., 1G, 512M) [default: 10G]
--max-files <MAX_FILES>          Maximum number of files to process [default: 10000]

License

Public Domain / CC0 1.0 Universal

Credits

Logo has been AI generated by Gemini 2.5 Flash Image (Nano Banana)

Ferris the crab by Karen Rustad Tölva

Packages

 
 
 

Contributors