🛠️ToolsShed

Generador de contraseñas

Genera contraseñas fuertes y seguras con opciones personalizables.

6128

El generador de contraseñas crea contraseñas aleatorias criptográficamente seguras usando el generador de números aleatorios integrado de tu navegador (la API Web Crypto). Esto significa que las contraseñas se generan completamente en tu dispositivo — nunca se envían por la red ni se almacenan en ningún lugar.

Configura la longitud (8-128 caracteres) y el conjunto de caracteres para cumplir con los requisitos del servicio para el que estás creando una cuenta. La mayoría de los expertos en seguridad recomiendan contraseñas de al menos 16 caracteres usando una combinación de letras mayúsculas, minúsculas, números y símbolos.

Un gestor de contraseñas es el mejor compañero de un generador de contraseñas. Herramientas como Bitwarden, 1Password o KeePass te permiten generar y almacenar una contraseña única y aleatoria para cada sitio sin necesidad de recordarlas. Nunca reutilices contraseñas en múltiples servicios.

Preguntas Frecuentes

Implementación 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.