Une wordlist Diceware : un tableau ordonné de N mots, où N est
une puissance de 6 (1296 = 6^4 ou 7776 = 6^5).
Les listes sont embarquées dans le binaire via les chaînes
constantes ci-dessous (générées à la compilation par
read_file — pattern hérité de flags).
Ne pas charger de wordlist depuis un fichier externe à
l'exécution : c'est une décision de sécurité de la chaîne
d'approvisionnement (cf. specs § « Ce que le shard ne fait
pas »). Pour ajouter une langue, soumettre une PR sur
aloli-crystal/diceware.
Constants
EFF_LONG_TEXT = {{ read_file("/tmp/tmp.oiHgac/src/src/diceware/../../data/eff_long.txt") }}
EMBEDDED = {:eff_long =>
Wordlist.new(:eff_long, :en, "
EFF Large Wordlist (2016) — anglais, 7776 mots", parse_text(
EFF_LONG_TEXT)), :fr_mbelivo_5d =>
Wordlist.new(:fr_mbelivo_5d, :fr, "mbelivo/diceware-wordlists-fr — français, 7776 mots", parse_text(
FR_MBELIVO_5D_TEXT))} of
Symbol =>
WordlistFR_MBELIVO_5D_TEXT = {{ read_file("/tmp/tmp.oiHgac/src/src/diceware/../../data/fr_mbelivo_5d.txt") }}
Constructors
default
Choisit une wordlist par défaut adaptée à la locale système.
Lit $LANG ; tombe sur :eff_long (anglais) en l'absence
de match.
SourceRenvoie la wordlist embarquée d'identifiant id. Lève si
l'identifiant n'est pas connu.
Identifiants disponibles en v0.1 :
:eff_long (anglais, 7776, EFF Large 2016)
:fr_mbelivo_5d (français, 7776, mbelivo)
SourceClass methods
identifiers
Liste les identifiants des wordlists embarquées.
Sourcelanguages
Liste les codes langue représentés (peut contenir des
doublons si plusieurs listes pour la même langue).
SourceInstance methods
description
Description courte affichée par diceware list.
Sourceid
Identifiant de la liste (ex. :eff_long, :fr_mbelivo_5d).
Sourcelanguage
Code langue ISO 639-1 (:en, :fr, …) — utilisé pour
l'auto-détection via $LANG.
SourceMot correspondant à un tirage donné.
Sourcesecure_word
Tire un mot uniformément avec Random::Secure.
Sourcesize
Nombre de mots dans la liste (1296 ou 7776).
Sourcewords
Les mots eux-mêmes, indexés 0-based dans le même ordre que
Roll#to_index.
Source