An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

[![Rust](https://img.shields.io/badge/made%20with-Rust-orange?logo=rust&logoColor=ffffff)](https://rust-lang.org/)
[![License: CC0-1.0](https://img.shields.io/badge/License-CC0%201.0-lightgrey.svg)](http://creativecommons.org/publicdomain/zero/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](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/)