🛠️ToolsShed

Générateur de mots de passe

Générez des mots de passe forts et sécurisés avec des options personnalisables.

6128

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.