Pular para o conteúdo
🛠️ToolsShed

Gerador de Senha Segura

Gera senhas memoráveis no estilo Diceware com estimativa de entropia.

38

Sobre esta ferramenta

Uma frase-senha é uma sequência de palavras não relacionadas combinadas para formar uma credencial de autenticação fácil de lembrar e segura. O Gerador de Frases-Senha Seguras cria frases usando o método Diceware, uma técnica criptográfica comprovada que aproveita a força natural do cérebro humano para lembrar sequências de palavras em vez de combinações de caracteres aleatórios. Ao contrário das senhas tradicionais repletas de caracteres especiais, as frases Diceware oferecem segurança excepcional através da simplicidade, tornando-as ideais para credenciais de longo prazo, como senhas mestras de gerenciadores de senhas, contas bancárias e segredos de alto valor.

Usar o gerador é direto: selecione quantas palavras você deseja (tipicamente 5 a 6 para a maioria dos propósitos), escolha um carácter separador e alterne a capitalização conforme necessário. A ferramenta calcula instantaneamente a entropia—a medida estatística de força da senha—mostrando exatamente quanta segurança sua frase fornece em bits. Cada palavra adicionada aumenta a entropia logaritmicamente; por exemplo, uma frase de 4 palavras fornece ~51 bits de entropia enquanto uma de 6 palavras salta para ~77 bits, excedendo as recomendações de segurança modernas.

As frases Diceware funcionam porque combinam aleatoriedade genuína (do gerador de números aleatórios criptograficamente seguro do seu computador) com uma grande lista de palavras (tipicamente 7.776 palavras), garantindo que os atacantes não possam adivinhar ou prever o resultado. Muitos sistemas exigem caracteres especiais ou números; em vez de enfraquecer sua frase com substituições previsíveis, gere uma aqui e armazene-a em um gerenciador de senhas se sua conta exigir restrições adicionais. Esta ferramenta é especialmente valiosa para desenvolvedores, profissionais de segurança e qualquer pessoa que gerencie credenciais sensíveis e valorize tanto a memorabilidade quanto a certeza matemática.

Perguntas Frequentes

Implementação de Código

import secrets
import math

# A small built-in word list; replace with a full EFF large wordlist in production.
WORDLIST = [
    "apple", "brave", "crane", "drift", "eagle", "flame", "grace", "hover",
    "ivory", "jewel", "knack", "lunar", "maple", "noble", "ocean", "pearl",
    "quilt", "raven", "stone", "tiger", "umbra", "vivid", "waltz", "xenon",
    "yacht", "zonal", "amber", "blaze", "crisp", "delta", "ember", "frost",
    "globe", "haste", "index", "joust", "karma", "lance", "marsh", "nerve",
    "ozone", "pilot", "query", "ridge", "storm", "trove", "ultra", "vigor",
    "width", "xylem", "yearn", "zesty",
]

def generate_passphrase(
    word_count: int = 4,
    separator: str = "-",
    capitalize: bool = False,
    append_number: bool = False,
) -> str:
    words = [secrets.choice(WORDLIST) for _ in range(word_count)]
    if capitalize:
        words = [w.capitalize() for w in words]
    phrase = separator.join(words)
    if append_number:
        phrase += separator + str(secrets.randbelow(9000) + 1000)
    return phrase

def passphrase_entropy(word_count: int, wordlist_size: int) -> float:
    """Bits of entropy: log2(wordlist_size ^ word_count)"""
    return word_count * math.log2(wordlist_size)


if __name__ == "__main__":
    for _ in range(5):
        phrase = generate_passphrase(4, "-", capitalize=True, append_number=True)
        print(phrase)
    bits = passphrase_entropy(4, len(WORDLIST))
    print(f"Entropy with {len(WORDLIST)}-word list, 4 words: {bits:.1f} bits")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.