🛠️ToolsShed

Gerador de Senhas

Gere senhas fortes e seguras com opções personalizáveis.

6128

O Gerador de Senhas cria senhas aleatórias criptograficamente seguras usando o gerador de números aleatórios integrado do seu navegador (Web Crypto API). Isso significa que as senhas são geradas inteiramente no seu dispositivo — nunca são enviadas pela rede ou armazenadas em qualquer lugar.

Configure o comprimento (8-128 caracteres) e o conjunto de caracteres para atender aos requisitos do serviço para o qual você está criando uma conta. A maioria dos especialistas em segurança recomenda senhas de pelo menos 16 caracteres usando uma mistura de letras maiúsculas, minúsculas, números e símbolos.

Um gerenciador de senhas é o melhor companheiro de um gerador de senhas. Ferramentas como Bitwarden, 1Password ou KeePass permitem gerar e armazenar uma senha única e aleatória para cada site sem precisar lembrá-las. Nunca reutilize senhas em vários serviços.

Perguntas Frequentes

Implementação de Código

import secrets
import string

def generate_password(
    length: int = 16,
    use_upper: bool = True,
    use_lower: bool = True,
    use_digits: bool = True,
    use_symbols: bool = True,
) -> str:
    """Generate a cryptographically secure random password."""
    charset = ""
    required = []

    if use_lower:
        charset += string.ascii_lowercase
        required.append(secrets.choice(string.ascii_lowercase))
    if use_upper:
        charset += string.ascii_uppercase
        required.append(secrets.choice(string.ascii_uppercase))
    if use_digits:
        charset += string.digits
        required.append(secrets.choice(string.digits))
    if use_symbols:
        symbols = "!@#$%^&*()-_=+[]{}|;:,.<>?"
        charset += symbols
        required.append(secrets.choice(symbols))

    if not charset:
        raise ValueError("At least one character type must be selected")

    # Fill the rest of the password
    remaining = [secrets.choice(charset) for _ in range(length - len(required))]
    password_list = required + remaining

    # Shuffle to avoid predictable positions
    secrets.SystemRandom().shuffle(password_list)
    return "".join(password_list)

# Examples
print(generate_password(16))
print(generate_password(24, use_symbols=False))
print(generate_password(8, use_upper=False, use_symbols=False))

Comments & Feedback

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