PROTOCOLO DE COMPOSIÇÃO DE PALAVRA-PASSE / REGISTO DE PARÂMETROS

Leia o gerador como um protocolo de composição de caracteres

Defina o comprimento e os grupos de caracteres selecionados no editor. Este registo liga esses parâmetros ao percurso de saída implementado, aos rótulos de pontuação e aos painéis React visíveis.

Abrir gerador de palavras-passe

Registo parâmetro → saída

01 · COMPRIMENTO — Intervalo de uma unidade

O controlo de comprimento tem mínimo 8, máximo 64, passo 1 e começa em 16.

02 · GRUPOS — Quatro seleções independentes

Maiúsculas, minúsculas, dígitos e símbolos podem ser selecionados ou removidos separadamente.

03 · COMPOSIÇÃO — Entradas de grupo antes de preencher

O gerador coloca um caráter de cada grupo selecionado, preenche as posições restantes com os caracteres combinados e depois mistura o array de caracteres.

04 · INVÁLIDO — Sem saída numa seleção inválida

Sem grupo selecionado, ou com comprimento abaixo do número de grupos selecionados, o gerador devolve null e o editor mostra apenas o seu erro de seleção.

A sequência de composição implementada

Este é um registo do percurso de código, não um teste de aceitação para um serviço externo. Expõe a ordem de generateSecurePassword numa seleção válida.

  1. 1. Reunir grupos selecionados

    A função reúne apenas as strings dos grupos selecionados. Uma lista vazia, ou um comprimento pedido menor do que essa lista, termina em null.

  2. 2. Colocar e preencher

    Escolhe um caráter para cada grupo selecionado e depois continua a escolher da string de grupos concatenados até atingir o comprimento pedido.

  3. 3. Misturar o array

    O array completo de caracteres é misturado antes de ser unido na saída mostrada.

Registo de grupos de caracteres

O editor expõe exatamente estas quatro strings de grupos. Os símbolos são listados como implementados, incluindo parênteses retos e pontuação.

  • MAIÚSCULAS ABC

    ABCDEFGHIJKLMNOPQRSTUVWXYZ

    Selecionadas pela caixa de maiúsculas.

  • MINÚSCULAS abc

    abcdefghijklmnopqrstuvwxyz

    Selecionadas pela caixa de minúsculas.

  • DÍGITOS 0–9

    0123456789

    Selecionados pela caixa de números.

  • SÍMBOLOS

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

    Selecionados pela caixa de símbolos.

Nota de implementação Web Crypto

A seleção de índices é um detalhe de implementação. O código usa crypto.getRandomValues com valores Uint32; um rótulo de resultado não afirma a adequação de uma saída.

  • LIMITE UINT32

    Para um tamanho de grupo, o código calcula o maior múltiplo desse tamanho abaixo de 2³².

  • REJECTION SAMPLING

    Pede novamente um valor Uint32 enquanto o valor estiver fora desse limite e depois toma valor módulo o tamanho do grupo.

  • MISTURA DO ARRAY

    O ciclo shuffle vai do índice final do array até 1 e troca o caráter atual por um índice obtido pelo mesmo seletor.

Estimativa de pontuação dos caracteres de saída

O rótulo é um estimador baseado apenas na saída mostrada. Não é uma avaliação de regras ou caso de utilização de um destino.

  • COMPRIMENTO

    +2 se o comprimento for pelo menos 12; caso contrário +1 se for pelo menos 8.

  • CATEGORIAS

    +1 por cada correspondência da saída com categorias de minúsculas, maiúsculas, dígitos e não alfanuméricos.

  • RÓTULOS

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

Painéis visíveis de estado de saída

Estes cartões descrevem as transições de estado do componente usadas pelo editor.

INICIAL + INDIVIDUAL — Um resultado inicial, depois um por ação

Na montagem inicial, useEffect aciona uma geração individual. O botão individual aciona-a novamente; um resultado devolvido torna-se a saída mostrada.

LOTE 1–20 — Lista separada de resultados de lote

O controlo de lote vai de 1 a 20 e começa em 5. Cada posição pedida chama o gerador separadamente; as entradas devolvidas ficam num estado de resultados de lote separado.

HISTÓRICO + CÓPIA — Até cinco resultados individuais recentes

Um resultado individual é colocado antes das quatro entradas anteriores do histórico. O botão de limpar esvazia este estado de interface de histórico do componente. Os controlos de cópia chamam navigator.clipboard.writeText para a entrada mostrada escolhida.

Notas de âmbito

  • Esta página regista o comportamento atual do editor e não verifica uma saída segundo requisitos fora deste editor.
  • O percurso de seleção inválida devolve null; o editor apresenta o seu erro de seleção em vez de uma saída.
  • Resultados de lote e histórico individual são valores de estado React separados neste componente.
  • O editor apresenta controlos de cópia. Não apresenta controlo de transferência ou exportação.

Continue com ferramentas próximas

Cada ferramenta ligada tem o seu próprio comportamento de entrada e saída.

Perguntas sobre o protocolo de composição

Que valores de comprimento o editor expõe?

O controlo de comprimento vai de 8 a 64 em passos de 1, com 16 como valor inicial.

O que acontece quando a seleção é inválida?

Quando não há grupo selecionado, ou o comprimento pedido é menor do que o número de grupos selecionados, generateSecurePassword devolve null. O editor mostra apenas o seu erro de seleção.

Como são atribuídos os rótulos de pontuação?

O estimador soma comprimento e categorias detetadas de minúsculas, maiúsculas, dígitos e não alfanuméricos para uma pontuação de 0 a 6. Mapeia 0–2 para Weak, 3–4 para Medium, 5 para Strong e 6 para Very Strong.

O que fazem os controlos de lote, histórico e cópia?

O lote usa um estado de resultados separado para 1–20 entradas pedidas. O histórico mantém o resultado individual atual e até quatro anteriores no estado do componente, e um controlo de cópia chama navigator.clipboard.writeText para a sua entrada.

Abrir os controlos de composição

Escolha comprimento e grupos no editor, depois inspecione a saída mostrada e o respetivo rótulo de pontuação baseado em caracteres.

Abrir gerador de palavras-passe