Les vouchers ont le mérite d'exister.
Mais le fonctionnement n'est pas super documenté !
Ce que j'ai compris : on a besoin
d'une clé publique,
d'une clé privée
d'un jeu de caractères (pour éliminer les pb avec 0 et o, 1 et l, …)
d'un magic number
de 3 nombres de bits pour # of "rolls", # of "tickets", # of Checksum
(La somme des 3 nb de bits doit être inférieure à 31 et laissent la possibilité de coder le magic number)
(En fait, il faut entendre les 3 bits + le nb de bits du magic number doit être inférieur à 32 = le nb de bit de la clé)
Du coup, on obtient N "rolls" de M "tickets" (N et M étant des puissances de 2).
Il faut entendre "rolls" par rubans ou séries de tickets identiques.
On demande ensuite la génération de "rolls" en précisant
le n° du roll
la durée des tickets (en minutes)
le nombre de tickets dans le "roll" (= devraient être systématiquement M=2^# of Tickets).
Il est donc assez aisé de créer
1 roll de M tickets d'une journée (1440 minutes = 24*60)
1 roll de M tickets de 2 jours (2880 minutes = 22460)
1 roll de M tickets de 7 jours (10080 minutes = 72460)
1 roll de M tickets de 30 jours (43200 minutes = 302460)
et ainsi de suite ...
La difficulté reste à fabriquer de "vrais" tickets papier voire des listes que l'on "raye" manuellement ...
Un lien intéressant : http://www.brannigan.fr/?p=397 (n'est pas de moi)