Resposta direta
O gerador de senhas criptográficas obtém entropia aleatória diretamente do gerador seguro do sistema operacional através de window.crypto.getRandomValues, prevenindo ataques estatísticos de força bruta.
Como usar esta ferramenta
Defina o tamanho e os conjuntos de caracteres
Escolha a extensão pretendida (entre 12 e 64 caracteres) e habilite letras maiúsculas, minúsculas, dígitos e caracteres especiais.
Avalie a pontuação de entropia de Shannon
Acompanhe a força criptográfica estimada em bits de entropia e o tempo estimado para quebra da senha.
Gere e copie com segurança
Gere uma combinação aleatória e copie a nova credencial para a área de transferência.
Aleatoriedade criptográfica versus geradores pseudoaleatórios comuns
A função ordinária Math.random() do JavaScript foi desenvolvida para velocidade e jogos, gerando padrões previsíveis. Nosso gerador conecta-se a window.crypto.getRandomValues, que absorve entropia física do núcleo do sistema operacional (/dev/urandom em sistemas Unix/macOS e BCryptGenRandom no Windows).
- Presença de tipos garantida: Assegura a inclusão de pelo menos um caractere de cada categoria selecionada.
- Embaralhamento não enviesado de Fisher-Yates: Aplica algoritmo de ordenação que extingue distorções na distribuição dos caracteres.
- Métrica de entropia de Shannon: Mede a segurança da senha em função do comprimento L e da variedade de símbolos disponíveis R.
Exemplos práticos
Gerar senha de alta segurança com 20 caracteres
Entrada: Extensão: 20 caracteres, Conjuntos: Maiúsculas (26), Minúsculas (26), Dígitos (10), Símbolos (28) — Universo: 90 opções
Saída: Gerada: 'k9#vM7$qL2@pX5!wR8&z', Entropia aferida: ~129,8 bits de informação
Proporciona um espaço de busca astronômico que exigiria cerca de 2^130 tentativas para quebra por força bruta.
Limitações
- Senhas criadas no navegador são efêmeras; salve-as imediatamente em um gerenciador de credenciais confiável.
- O navegador não tem como atestar se o sistema operacional do usuário está livre de malwares que monitorem a área de transferência.
Perguntas frequentes
Por que window.crypto é superior a Math.random() para gerar senhas?
Math.random() é um algoritmo previsível cujo estado interno pode ser deduzido matematicamente. Em contraste, window.crypto extrai entropia real do hardware do computador, oferecendo aleatoriedade criptograficamente segura.
As senhas que eu gerar são enviadas ou salvas em servidores?
Não. Todas as senhas são geradas na memória volátil do seu próprio navegador. O FreeKitX não armazena credenciais, não mantém bancos de dados remotos e não coleta dados gerados.
Referências e normas oficiais
- Recomendação Oficial W3C para a Web Cryptography API ↗ — Interface padronizada para geração de números pseudoaleatórios criptograficamente seguros (CSPRNG).
- Publicação Especial NIST SP 800-63B: Diretrizes de Identidade Digital ↗ — Norma do Instituto Nacional de Padrões e Tecnologia dos EUA sobre entropia de senhas e autenticação segura.