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
- Comprimento
- Letras minúsculas
- Letras maiúsculas
- Números
- Símbolos
- Sequência
- Repetições
- Lista negra
- Modo do teclado
- Data
- Período
- Parece bom! Não há pistas para melhoria no momento.
Modo de uso
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
Perguntas frequentes
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.
- 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).
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.
- 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.
<!-- 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>
// npm i @zxcvbn-ts/core
import { zxcvbn } from '@zxcvbn-ts/core';
const result = zxcvbn('P@ssw0rd!');
console.log(result.score, result.guesses_log10);
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'];
pip install zxcvbn
from zxcvbn import zxcvbn
res = zxcvbn('P@ssw0rd!')
print(res['score'], res['crack_times_display'])
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)
}
# 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.