Entropia de senha
Uma senha de 12 caracteres sorteados entre 95 caracteres imprimíveis carrega cerca de 78,84 bits e é classificada como forte. Informe o tamanho do conjunto e o comprimento de uma regra para comparar políticas em bits, sem digitar nenhuma senha real. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Comprimento
- 12
- Tamanho do conjunto de caracteres
- 95
- Bits por caractere
- 6,569856
- Bits de entropia
- 78,838267
- Intensidade
- strong
A entropia de uma senha é a medida teórica de quantos bits de imprevisibilidade um segredo escolhido ao acaso carrega. Esta calculadora não pede que você cole a senha. Ela recebe dois números de política: o tamanho do conjunto de caracteres de onde a senha é sorteada e o comprimento em caracteres. A entropia de Shannon fica H = L × log2(N) bits. A ferramenta devolve esse valor junto com um rótulo de força, de muito fraca a muito forte.
Entropia de Shannon, tamanho do charset e por que o comprimento costuma vencer
A entropia de Shannon trata a senha como uma cadeia de comprimento L extraída de modo independente e uniforme de um alfabeto de N símbolos. Cada caractere contribui então com log2(N) bits, de modo que o segredo inteiro carrega H = L × log2(N) bits. O tamanho do conjunto de caracteres não é o número de glifos distintos que aparecem numa senha concreta: é o tamanho do poço que o gerador tem permissão para usar.
O alfabeto inglês em minúsculas vale 26. Maiúsculas e minúsculas, 52. Letras mais dígitos, 62.
ASCII imprimível, na prática 95. Um byte completo, 256. Listas no estilo Diceware usam o comprimento da lista como N e o número de palavras como L.
Como o modelo assume extrações independentes e uniformes, trata-se de um limite superior: uma frase memorável, um passeio pelo teclado ou uma senha vazada têm bem menos entropia do que a fórmula sugere para o mesmo comprimento e o mesmo charset aparente. Quem desenha políticas ainda usa H porque responde a outra pergunta que um medidor de força: dada uma regra de geração, quão grande é o espaço de busca?
Duplicar o comprimento acrescenta outro bloco inteiro de log2(N) bits; duplicar o alfabeto só acrescenta um bit extra por caractere quando N dobra. Por isso um segredo ASCII imprimível de doze caracteres supera uma senha de oito com maiúsculas e minúsculas, ainda que as duas pareçam complexas.
Casos de uso
Desenho de política de senha
Compare regras de geração (comprimento e tamanho de charset) em bits antes de publicar uma política de composição ou um formato de código de recuperação.
Laboratórios e notas de conformidade
Dê a estudantes e auditores um oráculo determinístico H = L × log2(N) que rejeita um comprimento não positivo em vez de devolver zero em silêncio.
Perguntas frequentes
Como a entropia da senha é calculada a partir do charset e do comprimento?
A entropia de Shannon é H = L × log2(N) bits, em que L é o comprimento e N o tamanho do conjunto de caracteres. A senha em si nunca é enviada.
Quais tamanhos de conjunto de caracteres você deve usar?
Use o poço do qual o gerador pode sortear: 10 para dígitos, 26 minúsculas, 52 maiúsculas e minúsculas, 62 alfanumérico, 95 ASCII imprimível, 256 para um byte completo. Listas de palavras usam o comprimento da lista como N e a contagem de palavras como L.
O que acontece se length não é um inteiro positivo?
Zero, negativos, frações, valores vazios e length ausente são todos rejeitados.
Como o rótulo de força se mapeia para os bits?
Abaixo de 28 bits é very weak, 28–36 weak, 36–60 fair, 60–128 strong, e 128 bits ou mais very strong. Essas faixas descrevem segredos uniformemente aleatórios; uma senha escolhida à mão pode ser mais fraca.
Por que o comprimento pesa mais do que incluir tipos de caracteres?
Cada caractere a mais soma log2(N) bits inteiros, enquanto dobrar o conjunto acrescenta só um bit por caractere. Por isso uma senha de doze caracteres imprimíveis supera uma de oito com maiúsculas e minúsculas.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/security/password-entropy \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"length":12,"charset_size":95}'const res = await fetch("https://api.kit.forhosting.com/security/password-entropy", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"length": 12,
"charset_size": 95
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/security/password-entropy",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"length": 12,
"charset_size": 95
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/security/password-entropy", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"length":12,"charset_size":95}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"length":12,"charset_size":95}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/security/password-entropy", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"length": 12,
"charset_size": 95
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.password_entropy",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Use-a ao desenhar políticas de senha, comprimentos de PIN, códigos de recuperação ou formatos de chave API. Comprimento que não seja um inteiro positivo é rejeitado com invalid_input.
Entropia de Shannon, tamanho do charset e por que o comprimento costuma vencer
A calculadora informa bits_per_character como log2(N) para você ver a contribuição por glifo ao lado do total.
Contrato de entrada, rótulos de força e comportamento de erro
Comprimento que não seja um inteiro positivo é o contrato que a página promete: a tarefa não é cobrada. Valores acima de um milhão são rejeitados como fora de faixa para um parâmetro de política. A força usa as faixas usuais da teoria da informação: abaixo de 28 bits é very weak, de 28 a 36 é weak, de 36 a 60 é fair, de 60 a 128 é strong, e 128 bits ou mais é very strong. Um alfabeto de um caractere é matematicamente lícito e devolve zero bits com o rótulo very weak. Envie um corpo JSON via POST com dois inteiros positivos obrigatórios: length, o comprimento da senha em caracteres, e charset_size, o tamanho do alfabeto gerador. Aceitam-se os alias length, password_length e l para o primeiro campo; charset_size, charset, pool, alphabet_size e pool_size para o segundo. Cada valor pode chegar como inteiro JSON ou como cadeia numérica de dígitos. Campos ausentes, cadeias vazias, booleanos, objetos, frações como 12.5, zero e negativos falham com invalid_input nomeando o campo. Em caso de sucesso o corpo ecoa length e charset_size, informa bits_per_character como log2 do poço, entropy_bits como L vezes essa quantidade arredondada a seis casas para goldens estáveis, um rótulo de força e a cadeia da fórmula H = L * log2(N). Exemplo: length 12 e charset_size 95 (ASCII imprimível) rende cerca de 78.84 bits e o rótulo strong. Length 8 e charset_size 26 (só minúsculas) rende cerca de 37.60 bits e o rótulo fair.
Onde uma API de entropia de senha paga o investimento
Equipes de segurança usam uma calculadora de entropia de senha ao redigir a política de geração, não quando alguém digita um segredo num formulário de login. Plataformas de identidade escolhem o comprimento do PIN e se os códigos de recuperação são só dígitos ou alfanuméricos perguntando quantos bits a regra realmente produz. Validação falha não consome saldo. Se você precisa pontuar uma senha concreta que um usuário já escolheu, inclusive listas de senhas comuns e estimativas de tempo para quebrar, essa é outra intenção de busca e outra ferramenta. Quem desenha tokens de hardware e chaves API compara um segredo base62 de 22 caracteres com uma cadeia hex de 16 bytes numa única escala. Relatórios de conformidade que precisam citar bits de Shannon ao lado de uma regra de composição podem chamar este endpoint em vez de espalhar uma fórmula de planilha que alguém copiará com logaritmo natural por engano. Como a implementação é parse de nível A, cada chamada bem-sucedida custa o preço-base publicado US$ 0,002, sem tokens de modelo e sem rede de saída. Mantenha as requisições pequenas, fixe entropy_bits arredondado nos testes e você obtém um oráculo de política reproduzível para manuais, laboratórios LMS e workers de borda, sem montar uma biblioteca criptográfica própria.
Casos de integração
Dimensionamento de PIN e chaves API
Dimensione PIN numéricos, chaves API em base62 e tokens hex numa única escala de Shannon, em vez de misturar contagem de dígitos com folclore sobre complexidade.
Perguntas técnicas
Quanto custa a calculadora de entropia de senha?
A ferramenta no navegador é grátis. Requisições API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.