https://github.com/c0m4r/rust-whirlpoolsum
Rust version of a whirlpoolsum that prints and checks WHIRLPOOL 512-bit checksums.
https://github.com/c0m4r/rust-whirlpoolsum
checksum hash integrity security-tools whirlpool
Last synced: 5 months ago
JSON representation
Rust version of a whirlpoolsum that prints and checks WHIRLPOOL 512-bit checksums.
- Host: GitHub
- URL: https://github.com/c0m4r/rust-whirlpoolsum
- Owner: c0m4r
- License: cc0-1.0
- Created: 2025-11-17T03:43:20.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-11-17T05:30:02.000Z (8 months ago)
- Last Synced: 2025-11-17T05:32:25.955Z (8 months ago)
- Topics: checksum, hash, integrity, security-tools, whirlpool
- Language: Rust
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
README
[](https://rust-lang.org/)
[](http://creativecommons.org/publicdomain/zero/1.0/)

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](https://en.wikipedia.org/wiki/Seccomp) sandboxing, [Landlock](https://landlock.io/) and [AppArmor](https://apparmor.net/) profile as a measure of protection against supply chain attacks.
## Quick install (x86_64/glibc)
```bash
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](https://git.adelielinux.org/adelie/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](https://rust-lang.org/tools/install/)
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
```bash
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)
```bash
echo -n "All your base are belong to us" | whirlpoolsum
```
File checksum
```bash
whirlpoolsum example.txt
```
Multiple files checksums (with multithreading)
```bash
whirlpoolsum --max-files 1000 --max-file-size 100M /usr/sbin/*
```
Verify file checksum (stdin)
```bash
echo -n "abcdef12345(...) example.txt" | whirlpoolsum -c
```
Verify file checksum with a checksum file
```bash
whirlpoolsum -c example.txt.wrl
```
Print program version
```bash
whirlpoolsum --version
```
## Benchmarking
Benchmark (measure time and throughput for a given filename(s))
```bash
whirlpoolsum --benchmark example.txt
```
Benchmark (system test with score)
```bash
whirlpoolsum --benchmark
```
## TUI
Text-based UI with basic functionality using [ratatui](https://ratatui.rs/)
```bash
whirlpoolsum --tui
```
...and a snake game as a bonus :)
## Configuration options
```
--max-file-size Maximum file size (e.g., 1G, 512M) [default: 10G]
--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](https://rustacean.net/) by [Karen Rustad Tölva](https://www.aldeka.net/portfolio/items/ferris/)