Generador de contraseñas
Genera contraseñas fuertes y seguras con opciones personalizables.
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.