Multi-threaded file checksum calculator |
Calculate multiple file checksums simultaneously with blazing-fast performance using Rust's concurrency capabilities.
- ⚡ Parallel computation of 5 hash algorithms
- 📊 Supported algorithms:
- CRC32 (IEEE 802.3)
- MD5
- SHA-1
- SHA-256
- SHA-512
- 📁 Large file support (>10GB tested)
- 💾 Save results to
.checksum
files - ⏱️ Execution time metrics
- 📦 Cross-platform (Windows/Linux/macOS)
If you're using a Linux system, you can easily install Slashsum using Snap:
-
Download the Snap package:
- You can download the
slashsum_0.1.0_amd64.snap
file from the releases page or from a local source.
- You can download the
-
Install the Snap package:
- Open a terminal and run the following command:
sudo snap install slashsum_0.1.0_amd64.snap --dangerous --classic
git clone https://github.com/yourusername/slashsum
cd slashsum
cargo build --release
Basic usage:
slashsum path/to/file [--save]
Example output:
File: large_file.iso
Size: 4.68 GB (5033165312 bytes)
CRC32: 8d7be4e9
MD5: a3b9d148c5f8d237f735a5d9795a2345
SHA1: 2aae6c35c94fcfb415dbe95f408b9ce91ee846ed
SHA256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
SHA512: 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f
Time: 12.45s
File Size | Threads | Time (s) |
---|---|---|
100 MB | 5 | 0.45 |
1 GB | 5 | 2.34 |
10 GB | 5 | 25.12 |
50 GB | 5 | 128.70 |
Tested on AWS EC2 t2.xlarge instance (4 vCPUs, 16GB RAM)
- File Reading
Buffered reading in 1MB chunks (configurable) - Data Distribution
Uses crossbeam channels to send chunks to hash workers - Parallel Processing
Dedicated thread for each hash algorithm - Result Aggregation
Combines results from all threads - Output Formatting
Human-readable sizes and standardized hash formats
- crossbeam-channel - Thread communication
- Rust Crypto Hashes - Cryptographic implementations
- crc - CRC32 calculation
Les contributions sont les bienvenues !
Voir CONTRIBUTING.md pour les guidelines.
MIT License - Voir LICENSE
🔍 Why "Slashsum"?
Combination of "slash" (/) for file paths and "checksum" - because every good tool needs a catchy name!