| Crates.io | ccgen_rs |
| lib.rs | ccgen_rs |
| version | 0.1.0 |
| created_at | 2025-07-30 22:30:36.491626+00 |
| updated_at | 2025-07-30 22:30:36.491626+00 |
| description | A fast, flexible, and customizable credit card number generator library for Rust. Generates valid (Luhn-compliant) credit card numbers for testing, QA, and development. |
| homepage | https://github.com/Junaid433/CCGen_rs |
| repository | https://github.com/Junaid433/CCGen_rs |
| max_upload_size | |
| id | 1774143 |
| size | 22,997 |
A fast, flexible, and customizable credit card number generator library for Rust.
Generate valid (Luhn-compliant) credit card numbers for testing, QA, and development purposes.
Add ccgen_rs to your Cargo.toml:
[dependencies]
ccgen_rs = "0.1.0"
use ccgen_rs::{GeneratorOptions, Generate_Cards};
let opts = GeneratorOptions {
bin_pattern: "411111xxxxxxxxxx", // Visa BIN with 10 random digits
month: Some(12),
year: Some(2030),
cvv: Some(123),
amount: Some(3),
};
let cards = Generate_Cards(&opts);
for card in cards {
println!("{}|{}|{}|{}", card.number, card.month, card.year, card.cvv);
}
let opts = GeneratorOptions {
bin_pattern: "5xxxxxxxxxxxxxxx", // MasterCard BIN with 15 random digits
month: None, // random month
year: None, // random year
cvv: None, // random cvv
amount: Some(5),
};
let cards = Generate_Cards(&opts);
pub struct GeneratorOptions<'a> {
pub bin_pattern: &'a str, // 16 chars, digits or 'x'
pub month: Option<usize>, // 1-12
pub year: Option<usize>, // 2025-2050
pub cvv: Option<usize>, // 0-999
pub amount: Option<usize>,// number of cards to generate
}
pub struct CardInfo {
pub number: String, // 16-digit Luhn-valid card number
pub month: String, // MM
pub year: String, // YYYY
pub cvv: String, // 3 digits
}
pub fn Generate_Cards(opts: &GeneratorOptions) -> Vec<CardInfo>
bin_pattern must be 16 or fewer characters, only digits or 'x'.month must be 1-12.year must be 2025-2050.cvv must be 0-999.Run the test suite with:
cargo test
The project includes 22+ tests covering edge cases, input validation, and Luhn compliance.
This project uses GitHub Actions for CI. Two workflows are provided:
cargo test on every push and pull request to ensure all tests pass.cargo build to verify the project builds successfully.You can find these workflows in .github/workflows/.
Contributions are welcome! Please open issues or submit pull requests for bug fixes, new features, or improvements.
This project is licensed under the MIT License. See LICENSE for details.
This library is for testing and development purposes only. Do not use generated card numbers for fraudulent or illegal activities.