generate_batch

Function generate_batch 

Source
pub fn generate_batch(
    secret_key: &[u8; 32],
    start_counter: u64,
    count: usize,
    alphabet: &Alphabet,
    code_length: usize,
    check_position: CheckPosition,
    damm_table: &DammTable,
) -> Vec<String>
Expand description

Generate a batch of promotional codes.

§Arguments

  • secret_key - 32-byte secret key for HMAC
  • start_counter - Starting counter value
  • count - Number of codes to generate
  • alphabet - Character set for the codes
  • code_length - Number of random characters per code
  • check_position - Where to place the check digit
  • damm_table - Damm table for check digit calculation

§Returns

Vector of generated codes

§Example

use promocrypt_core::{generate_batch, Alphabet, DammTable, CheckPosition};

let secret = [0u8; 32];
let alphabet = Alphabet::default_alphabet();
let damm = DammTable::new(alphabet.len());

let codes = generate_batch(&secret, 0, 100, &alphabet, 9, CheckPosition::End, &damm);
assert_eq!(codes.len(), 100);