PROTOCOLE DE COMPOSITION DE MOT DE PASSE / REGISTRE DE PARAMÈTRES

Lire le générateur comme un protocole de composition de caractères

Définissez la longueur et les groupes de caractères sélectionnés dans l’éditeur. Ce registre relie ces paramètres au chemin de sortie implémenté, aux libellés de score et aux panneaux d’état React visibles.

Ouvrir le générateur

Registre paramètre → sortie

01 · LONGUEUR — Plage par unité

Le curseur de longueur a un minimum de 8, un maximum de 64, un pas de 1 et commence à 16.

02 · GROUPES — Quatre sélections indépendantes

Majuscules, minuscules, chiffres et symboles peuvent chacun être sélectionnés ou retirés.

03 · COMPOSITION — Entrées de groupes avant remplissage

Le générateur place un caractère de chaque groupe sélectionné, remplit les positions restantes avec les caractères combinés, puis mélange le tableau de caractères.

04 · INVALIDE — Aucune sortie pour une sélection invalide

Sans groupe sélectionné, ou avec une longueur inférieure au nombre de groupes sélectionnés, le générateur renvoie null et l’éditeur affiche seulement son erreur de sélection.

La séquence de composition implémentée

Il s’agit d’un registre du chemin de code, pas d’un test d’acceptation pour un service externe. Il expose l’ordre de generateSecurePassword avec une sélection valide.

  1. 1. Réunir les groupes sélectionnés

    La fonction assemble uniquement les chaînes des groupes sélectionnés. Une liste vide, ou une longueur demandée inférieure à cette liste, se termine par null.

  2. 2. Placer et remplir

    Elle choisit un caractère pour chaque groupe sélectionné, puis continue dans la chaîne des groupes concaténés jusqu’à la longueur demandée.

  3. 3. Mélanger le tableau

    Le tableau complet de caractères est mélangé avant d’être joint dans la sortie affichée.

Registre des groupes de caractères

L’éditeur expose exactement ces quatre chaînes de groupes. Les symboles sont listés comme ils sont implémentés, y compris crochets et ponctuation.

  • MAJUSCULES ABC

    ABCDEFGHIJKLMNOPQRSTUVWXYZ

    Sélectionnées par la case majuscules.

  • MINUSCULES abc

    abcdefghijklmnopqrstuvwxyz

    Sélectionnées par la case minuscules.

  • CHIFFRES 0–9

    0123456789

    Sélectionnés par la case nombres.

  • SYMBOLES

    !@#$%^&*()_+-=[]{}|;:,.<>?

    Sélectionnés par la case symboles.

Note d’implémentation Web Crypto

La sélection d’index est un détail d’implémentation. Le code utilise crypto.getRandomValues avec des valeurs Uint32 ; un libellé de résultat n’affirme pas l’adéquation d’une sortie.

  • LIMITE UINT32

    Pour une taille de groupe, le code calcule le plus grand multiple de cette taille inférieur à 2³².

  • REJECTION SAMPLING

    Il redemande une valeur Uint32 tant qu’elle est hors de cette limite, puis prend valeur modulo la taille du groupe.

  • MÉLANGE DU TABLEAU

    La boucle shuffle va du dernier index du tableau à 1 et échange le caractère courant avec un index obtenu par le même sélecteur.

Estimation du score des caractères de sortie

Le libellé est un estimateur fondé seulement sur la sortie affichée. Ce n’est pas une évaluation des règles ou du cas d’usage d’une destination.

  • LONGUEUR

    +2 si la longueur est d’au moins 12 ; sinon +1 si elle est d’au moins 8.

  • CATÉGORIES

    +1 pour chaque correspondance avec les catégories minuscule, majuscule, chiffre et non alphanumérique.

  • LIBELLÉS

    Weak pour 0–2 ; Medium pour 3–4 ; Strong pour 5 ; Very Strong pour 6.

Panneaux d’état de sortie visibles

Ces cartes décrivent les transitions d’état du composant utilisées par l’éditeur.

INITIAL + UNIQUE — Un résultat initial, puis un résultat par action

Au montage initial, useEffect déclenche une génération individuelle. Le bouton individuel la déclenche à nouveau ; un résultat renvoyé devient la sortie affichée.

LOT 1–20 — Une liste distincte de résultats par lot

Le curseur de lot va de 1 à 20 et commence à 5. Chaque position demandée appelle le générateur séparément ; les entrées renvoyées sont gardées dans un état de résultats par lot distinct.

HISTORIQUE + COPIE — Jusqu’à cinq résultats individuels récents

Un résultat individuel est placé devant les quatre entrées précédentes de l’historique. Le bouton d’effacement vide cet état d’interface d’historique du composant. Les contrôles de copie appellent navigator.clipboard.writeText pour l’entrée affichée choisie.

Notes de périmètre

  • Cette page consigne le comportement actuel de l’éditeur et ne vérifie pas une sortie selon des exigences externes à cet éditeur.
  • Le chemin de sélection invalide renvoie null ; l’éditeur affiche son erreur de sélection au lieu d’une sortie.
  • Les résultats par lot et l’historique individuel sont des valeurs d’état React distinctes dans ce composant.
  • L’éditeur présente des contrôles de copie. Il ne présente pas de contrôle de téléchargement ni d’export.

Poursuivre avec des outils voisins

Chaque outil lié a son propre comportement d’entrée et de sortie.

Questions sur le protocole de composition

Quelles valeurs de longueur l’éditeur expose-t-il ?

Le curseur de longueur va de 8 à 64 par pas de 1, avec 16 comme valeur initiale.

Que se passe-t-il lorsque la sélection est invalide ?

Lorsqu’aucun groupe n’est sélectionné, ou que la longueur demandée est inférieure au nombre de groupes sélectionnés, generateSecurePassword renvoie null. L’éditeur affiche seulement son erreur de sélection.

Comment les libellés de score sont-ils attribués ?

L’estimateur additionne longueur et catégories détectées minuscule, majuscule, chiffre et non alphanumérique pour un score de 0 à 6. Il attribue 0–2 à Weak, 3–4 à Medium, 5 à Strong et 6 à Very Strong.

Que font les contrôles de lot, d’historique et de copie ?

Le lot utilise un état de résultats distinct pour 1–20 entrées demandées. L’historique garde le résultat individuel actuel et jusqu’à quatre précédents dans l’état du composant, et un contrôle de copie appelle navigator.clipboard.writeText pour son entrée.

Ouvrir les contrôles de composition

Choisissez longueur et groupes dans l’éditeur, puis inspectez la sortie affichée et son libellé de score fondé sur les caractères.

Ouvrir le générateur