luhn_rs
A fast, minimal implementation of the Luhn algorithm.
- Generate checksums for Luhn numbers
- Validate Luhn numbers
- Generate random valid Luhn numbers
- No dependencies (optionally includes
randfor random generation) - Comprehensive error handling
- Tested and benchmarked
Installation
Add one of these to your Cargo.toml:
# Option 1: Use defaults (includes `std`)
[]
= "0.3.0"
# Option 2: Include `random` feature
[]
= { = "0.3.0", = ["random"] }
Usage
use ;
// Generate a checksum and return new Luhn number
let result = generate.unwrap;
assert_eq!;
// Generate only the checksum
let options = Some;
let checksum = generate.unwrap;
assert_eq!;
// Validate a Luhn number
assert!;
// Generate a random valid Luhn number of length 10
let random_number = random.unwrap;
assert!;
# view docs
# run tests
# run benchmarks
Contributing
Contributions welcome! Please feel free to submit a Pull Request.
License
MIT