Detector de força da senha

Detecte a força da senha, o valor de entropia e as fraquezas comuns. Todas as detecções são executadas localmente no seu navegador.

Verificação de força

Entropia
Força:
Tempo estimado de quebra offline (GPU de alta velocidade)
Tempo estimado de quebra online (com limite de velocidade)
Resultados da verificação
  • Comprimento
  • Letras minúsculas
  • Letras maiúsculas
  • Números
  • Símbolos
  • Sequência
  • Repetições
  • Lista negra
  • Modo do teclado
  • Data
  • Período
Configuração da política
Separadas por vírgulas, sem distinção entre maiúsculas e minúsculas. Suporta normalização Leet (por exemplo, Pa$$w0rd → password).
Sugestões de otimização
Declaração de privacidade: A detecção é feita completamente localmente no seu navegador. A senha não será enviada para o servidor.

Modo de uso

Analise a senha localmente e obtenha sugestões de otimização executáveis.
1) Digite ou cole a senha; os resultados serão atualizados em tempo real.
2) Ajuste a política conforme necessário (comprimento mínimo / requisitos de tipo de caractere).
3) Adicione palavras fracas comuns à lista negra para auxiliar na identificação (suporta normalização Leet).
4) Use a importação / exportação para compartilhar as configurações da política.

Características funcionais

  • Análise 100% local, com prioridade na proteção da privacidade.
  • Detectores avançados: padrões de teclado, datas, repetições periódicas, sequências, repetições, etc.
  • Combinação de lista negra com normalização Leet (por exemplo, Pa$$w0rd → password).
  • Políticas flexíveis: requisitos de comprimento mínimo e tipos de caracteres.
  • Importar/exportar políticas JSON com um clique.
  • Analisar no detector com um clique

Comparação de senhas

Resultado da comparação
Entropia (A): Entropia (B):

Perguntas frequentes

Minha senha será enviada para o servidor?
Não. Todas as análises são executadas apenas no seu navegador.
O que significa 'entropia'?
Indica aproximadamente quantas tentativas são necessárias para adivinhar a senha. A força real diminui quando há estruturas.
Por que a pontuação diminuiu?
Padrões como sequências, datas ou padrões de teclado reduzem a força da senha.

Relatório

O relatório não contém o texto da sua senha, apenas indicadores e configurações.

Conhecimento relacionado
Entropia

A entropia é usada para estimar o tamanho do espaço de busca com base no conjunto de caracteres e no comprimento. Se houver estrutura (padrões, palavras), a entropia efetiva será reduzida, mesmo que os bits originais pareçam altos.

Explicação dos itens de detecção
  • Sequências em ordem, como abcde ou 12345.
  • Longas repetições do mesmo caractere (por exemplo, aaaa).
  • Corresponde a palavras/padrões fracos comuns na lista negra personalizada.
  • Padrões de teclado ou sequências de teclas adjacentes (por exemplo, qwerty, asdf).
  • Padrões de data (por exemplo, YYYYMMDD, dd-mm-yyyy).
  • Substrings repetidas (por exemplo, abcabc, 121212).
  • Normalização Leet antes da correspondência na lista negra (por exemplo, Pa$$w0rd → password).
Atenção ao tempo de quebra

O tempo de quebra é apenas uma estimativa aproximada. Ataques reais usam dicionários, máscaras e GPUs. Senhas curtas e com estrutura óbvia geralmente são muito mais fracas do que sua entropia aparente.

Melhores práticas
  • Prefira frases de acesso aleatórias mais longas (4 palavras ou mais) ou senhas geradas por gerenciadores de senhas.
  • Evite informações pessoais, datas e estruturas previsíveis.
  • Use um gerenciador de senhas e habilite a autenticação multifator (MFA) sempre que possível.
  • Não reutilize senhas; altere - as apenas em caso de vazamento.

Como detectar a força da senha por meio de linguagens de programação

Aqui está um exemplo mínimo usando bibliotecas comunitárias maduras. Você pode escolher de acordo com sua pilha tecnológica.

JavaScript
<!-- CDN -->
<script src="https://unpkg.com/[email protected]/dist/zxcvbn.js"></script>
<script>
  const res = zxcvbn('P@ssw0rd!');
  console.log(res.score, res.crack_times_display);
</script>
                        
Node.js
// npm i @zxcvbn-ts/core
import { zxcvbn } from '@zxcvbn-ts/core';

const result = zxcvbn('P@ssw0rd!');
console.log(result.score, result.guesses_log10);
                        
PHP
composer require bjeavons/zxcvbn-php
                        
<?php
require __DIR__ . '/vendor/autoload.php';

use ZxcvbnPhp\\Zxcvbn;

$zxcvbn = new Zxcvbn();
$res = $zxcvbn->passwordStrength('P@ssw0rd!');
echo $res['score'];
                        
Python
pip install zxcvbn
                        
from zxcvbn import zxcvbn

res = zxcvbn('P@ssw0rd!')
print(res['score'], res['crack_times_display'])
                        
Go
go get github.com/nbutton23/zxcvbn-go
                        
package main

import (
  "fmt"
  zxcvbn "github.com/nbutton23/zxcvbn-go"
)

func main() {
  res := zxcvbn.PasswordStrength("P@ssw0rd!", nil)
  fmt.Println(res.Score, res.Guesses)
}
                        
Rust
# Add dependency
cargo add zxcvbn
                        
use zxcvbn::zxcvbn;

fn main() {
    match zxcvbn("P@ssw0rd!", &[]) {
        Ok(estimate) => {
            println!("score: {}", estimate.score()); // 0..4
            if let Some(times) = estimate.crack_times() {
                println!("offline: {:?}", times.offline_slow_hashing_1e4_per_second());
            }
        }
        Err(err) => eprintln!("zxcvbn error: {err}"),
    }
}
                        

Observação: Essas bibliotecas fornecem estimativas de força e padrões e podem diferir ligeiramente dos itens de detecção desta página.