"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Créer un vérificateur de force de mot de passe en Python

Créer un vérificateur de force de mot de passe en Python

Publié le 2024-11-01
Parcourir:327

Bonjour encore et bienvenue dans le tutoriel d'aujourd'hui. Aujourd'hui, nous allons créer un simple vérificateur de force de mot de passe en utilisant Python. Nous vous expliquerons étape par étape le fonctionnement du code et vous donnerons des conseils pour améliorer vos mots de passe.

Pourquoi la force du mot de passe est-elle importante ?

Un mot de passe faible permet aux pirates informatiques de deviner ou de déchiffrer plus facilement en utilisant diverses méthodes, mettant ainsi vos informations personnelles en danger. Un mot de passe fort est :

  • Assez long (au moins 12 caractères)
  • Utilise un mélange de lettres (majuscules et minuscules), de chiffres et de caractères spéciaux
  • Évite les mots courants ou prévisibles

Commençons par créer un outil qui évalue la force d'un mot de passe en fonction de ces règles.

Configuration de votre environnement

Avant de commencer à coder, assurez-vous que Python est installé sur votre ordinateur.

Créez un nouveau fichier Python dans lequel vous écrirez votre code. Téléchargez également ce fichier qui contient les mots de passe les plus courants (nous y reviendrons plus tard) et enregistrez le fichier dans le même répertoire que votre fichier Python pour ce projet.

Importer les bibliothèques nécessaires

import string

Le module de chaîne fournit des constantes utiles pour vérifier les types de caractères tels que les lettres majuscules, les chiffres et les caractères spéciaux.

Rechercher les mots de passe courants

def check_common_password(password):
    with open('common-password.txt', 'r') as f:
        common = f.read().splitlines()
    if password in common:
        return True
    return False

Cette fonction vérifie si le mot de passe donné figure dans une liste de mots de passe courants.

  • Il ouvre un fichier appelé « common-password.txt » que nous avons téléchargé précédemment.
  • Il lit tous les mots de passe de ce fichier dans une liste.
  • Si le mot de passe saisi figure dans cette liste, il renvoie True (ce qui signifie qu'il s'agit d'un mot de passe courant, et donc faible).
  • Sinon, il renvoie False.

Pourquoi est-ce important ? De nombreux pirates informatiques commencent par essayer des mots de passe courants, donc en utiliser un rend votre compte très vulnérable.

Évaluer la force du mot de passe

def password_strength(password):
    score = 0
    length = len(password)

    upper_case = any(c.isupper() for c in password)
    lower_case = any(c.islower() for c in password)
    special = any(c in string.punctuation for c in password)
    digits = any(c.isdigit() for c in password)

    characters = [upper_case, lower_case, special, digits]

    if length > 8:
        score  = 1
    if length > 12:
        score  = 1
    if length > 17:
        score  = 1
    if length > 20:
        score  = 1

    score  = sum(characters) - 1

    if score 



Cette fonction évalue la force du mot de passe en fonction de plusieurs critères.

  • Le mot de passe obtient des points s'il comporte plus de 8, 12, 17 et 20 caractères.
  • Il vérifie la présence de lettres majuscules, de lettres minuscules, de caractères spéciaux et de chiffres.

Comment fonctionne la notation ?

  1. Cela commence avec un score de 0.
  2. Il ajoute 1 point pour chaque seuil de longueur dépassé.
  3. Il ajoute 1 point pour chaque type de caractère utilisé (majuscule, minuscule, spécial, chiffre), moins 1.
  4. En fonction du score final, il classe le mot de passe comme « Faible », « OK », « Bon » ou « Fort ».

Fournir des commentaires à l'utilisateur

def feedback(password):
    if check_common_password(password):
        return "Password was found in a common list. Score: 0/7"

    strength, score = password_strength(password)

    feedback = f"Password strength: {strength} (Score: {score}/7)\n"

    if score 



Cette fonction combine les deux fonctions précédentes pour fournir des commentaires complets.

  • Il vérifie d'abord si le mot de passe est commun. Si tel est le cas, il renvoie immédiatement un avertissement.
  • Si le mot de passe n'est pas courant, il évalue sa force.
  • Il fournit l'indice de force et le score.
  • Si le mot de passe est faible (score

Programme principal

password = input("Enter the password: ")
print(feedback(password))

Cette dernière partie demande simplement à l'utilisateur de saisir un mot de passe, puis imprime les commentaires.

Programme en action

Building a Password Strength Checker in Python

Conclusion

La création de mots de passe forts est un élément essentiel du maintien de la sécurité en ligne, et avec cet outil, vous pouvez facilement évaluer le degré de sécurité de vos mots de passe. Ce programme simple montre comment la programmation Python de base peut être combinée avec les principes de cybersécurité pour résoudre un problème du monde réel.

N'hésitez pas à expérimenter le code et à ajouter plus de fonctionnalités.

Bon codage et restez en sécurité !

Déclaration de sortie Cet article est reproduit sur : https://dev.to/immah/building-a-password-strength-checker-in-python-47om?1 En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3