Générateur de mots de passe
Générez des mots de passe forts et sécurisés avec des options personnalisables.
Le générateur de mots de passe crée des mots de passe aléatoires cryptographiquement sécurisés en utilisant le générateur de nombres aléatoires intégré de votre navigateur (l'API Web Crypto). Les mots de passe sont générés entièrement sur votre appareil — ils ne sont jamais envoyés sur le réseau ni stockés nulle part.
Configurez la longueur (8-128 caractères) et le jeu de caractères pour correspondre aux exigences du service pour lequel vous créez un compte. La plupart des experts en sécurité recommandent des mots de passe d'au moins 16 caractères utilisant un mélange de lettres majuscules, minuscules, chiffres et symboles.
Un gestionnaire de mots de passe est le meilleur compagnon d'un générateur de mots de passe. Des outils comme Bitwarden, 1Password ou KeePass vous permettent de générer et stocker un mot de passe unique et aléatoire pour chaque site sans avoir à les mémoriser. Ne réutilisez jamais des mots de passe sur plusieurs services.
Questions Fréquentes
Implémentation du Code
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.