andrew-d / luhn-rs

Luhn mod N algorithm in Rust.

Home Page:https://andrew-d.github.io/luhn-rs/luhn/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

luhn-rs

Build Status Coverage Status Docs

This project allows generating and verifying Luhn check digits and using arbitrary alphabets.

Example

Add this to your Cargo.toml:

[dependencies]
luhn-rs = "0.0.1"

Then, in your crate:

extern crate luhn;

use luhn::Luhn;

Generating a check digit:

// The alphabet given dictates what input characters are allowed.
let l = Luhn::new("abcdef").expect("invalid alphabet given");

let ch = match l.generate("abcdef") {
    Ok(ch) => ch,
    Err(e) => panic!("unexpected generate error: {:?}", e),
};

println!("the luhn check digit is: {}", ch);

Verifying a check digit (this uses the last character in the string as the check digit):

let l = Luhn::new("abcdef").expect("invalid alphabet given");

println!("validating 'abcdefe': {}", l.validate("abcdefe").unwrap());
println!("validating 'abcdefa': {}", l.validate("abcdefe").unwrap());

License

MIT

About

Luhn mod N algorithm in Rust.

https://andrew-d.github.io/luhn-rs/luhn/index.html


Languages

Language:Rust 100.0%