Maison >développement back-end >Tutoriel Python >Quel est le programme le plus cool que vous ayez jamais réalisé en Python ?

Quel est le programme le plus cool que vous ayez jamais réalisé en Python ?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBavant
2023-09-08 21:21:03973parcourir

Quel est le programme le plus cool que vous ayez jamais réalisé en Python ?

Le programme Python le plus cool que j'ai jamais créé est le hacheur de mot de passe Python. Voyons d'abord ce qu'est le hachage de mot de passe Python.

Qu'est-ce que le hachage de mot de passe ?

Le hachage de mot de passe Python est une forme avancée de cryptage qui peut être utilisée pour stocker en toute sécurité les mots de passe en ligne. Dans le monde interconnecté d’aujourd’hui, les mots de passe des utilisateurs constituent l’une des informations sensibles les plus vulnérables sur Internet. Convertissez une chaîne de mot de passe en une chaîne de caractères aléatoires en utilisant différents algorithmes de hachage, utilisés dans mon programme. L'utilisateur est invité à saisir une chaîne de mot de passe, puis à sélectionner l'algorithme de hachage approprié à utiliser. Le hachage de sortie est ensuite affiché et peut être stocké en ligne.

Étapes d'utilisation

  • Créez des fonctions pour différentes méthodes de hachage

  • Accepte la chaîne de mot de passe saisie par l'utilisateur

  • Accepter la saisie de l'utilisateur pour sélectionner la méthode de hachage

  • Convertir la chaîne et fournir une sortie

Étape 1 : Créez des fonctions pour différentes méthodes de hachage

Tout d’abord, nous créons différentes fonctions qui prennent la chaîne du mot de passe comme paramètre et la convertissons sous forme de texte chiffré. Le texte chiffré est en fait la forme hachée des données. Différentes fonctions contiennent différents algorithmes de hachage.

Grammaire

def hash_with_MD5(message):
   print ("MD5:", hashlib.md5(message).hexdigest()) 

Cette fonction prend un message comme paramètre et le convertit en texte chiffré à l'aide de l'algorithme de hachage MD5. Imprimez ensuite le résumé de hachage pour l'utilisateur. Si au lieu d'utiliser MD5, vous utilisez un autre algorithme de hachage, la syntaxe est la même, seul l'appel à la fonction de hachage change.

Algorithme

Étape 1 - Définir différentes fonctions pour différents algorithmes de hachage

Étape 2 - Utiliser la chaîne saisie par l'utilisateur comme paramètre de la fonction

Étape 3 - Dans le corps de la fonction, imprimez le résumé hexadécimal du mot de passe haché

Exemple

def hash_with_MD5(message):
   encoded=message.encode()
   print ("Hashed with MD5:", hashlib.md5(encoded).hexdigest())
def hash_with_SHA(message):
   encoded=message.encode()
   print ("Hashed with SHA:", hashlib.sha256(encoded).hexdigest())
def hash_with_blake(message):
   encoded=message.encode()
   print ("Hashed with blake2b:",   hashlib.blake2b(encoded).hexdigest())
message='tutorialspoint'
hash_with_MD5(message)
hash_with_SHA(message)
hash_with_blake(message)

Sortie

Hashed with MD5: 6c60b3cfe5124f982eb629e00a98f01f
Hashed with SHA:
15e6e9ddbe43d9fe5745a1348bf1535b0456956d18473f5a3d14d6ab06737770
Hashed with blake2b:
109f6f017d7a77bcf57e4b48e9c744280ae7f836477c16464b27a3fe62e1353c70ec4c7f938080
60ee7c311094eede0235a43151c3d2b7401a3cb5a8f8ab3fbb 

Étape 2 : Obtenez la chaîne de mot de passe saisie par l'utilisateur

L'étape suivante consiste à obtenir la saisie de l'utilisateur concernant le mot de passe qui doit être stocké. Pour des raisons de sécurité, le mot de passe à stocker doit être haché et le mot de passe saisi par l'utilisateur doit être codé avant le hachage pour garantir qu'il peut être transmis à la fonction de hachage. Cette opération d'encodage est effectuée par la fonction encode().

Grammaire

password=input("message").encode()

Le mot de passe que nous recevons de l'utilisateur à l'aide de la fonction input() ne peut pas être utilisé pour le hachage, il est donc codé à l'aide de la fonction encode(). Ces deux étapes sont combinées ici en une seule commande pour faciliter le codage et la simplicité.

Algorithme

Étape 1 - Utilisez la fonction input() pour recevoir les entrées de l'utilisateur

Étape 2- Convertir l'entrée au format codé

Exemple

password=input(“Enter the password for hashing: ”).encode()

Sortie

Enter the password for hashing: Python 

Étape 3 : Acceptez la saisie de l'utilisateur pour sélectionner la méthode de hachage

Nous offrirons aux utilisateurs le choix de décider quel algorithme de hachage nous utiliserons pour hacher en toute sécurité les mots de passe. Différentes méthodes présentent différents avantages et inconvénients, c'est pourquoi nous laissons les utilisateurs choisir la méthode qui fonctionne le mieux pour un mot de passe spécifique. Ici, nous utilisons une simple structure If-else pour déterminer la sélection saisie par l'utilisateur.

Grammaire

while True:
   choice = input("Enter choice(1/2/3): ")
      if choice in ('1', '2', '3'):
      try:
      ………………… 

Ici, nous demandons à l'utilisateur quel type de hachage il a effectué ainsi qu'une liste d'options. L'entrée est ensuite vérifiée par rapport à une liste d'entrées valides et, si elle est vraie, l'action requise est effectuée. Sinon, le contrôle du programme sortira de la boucle.

Algorithme

Étape 1 − Demander l'avis de l'utilisateur

Étape 2- Vérifiez si la saisie de l'utilisateur est valide

Étape 3 - Effectuer l'action sélectionnée

Étape 4 - Demandez si vous souhaitez en faire plus

Exemple

import hashlib
def hash_with_MD5(password):
   
   #encoded=password.encode()
   print ("Hashed with MD5:", hashlib.md5(password).hexdigest())
def hash_with_SHA(password):
   
   #encoded=password.encode()
   print ("Hashed with SHA:", hashlib.sha256(password).hexdigest())
def hash_with_blake(password):
   
   #encoded=password.encode()
   print ("Hashed with blake2b:", hashlib.blake2b(password).hexdigest())
print("Select hashing operation.") 
print("1.MD5")
print("2.SHA")
print("3.blake")
while True:
   
   # take input from the user
   choice = input("Enter choice(1/2/3): ")
   
   # check if choice is one of the four options
   if choice in ('1', '2', '3'):
      try:
         password=input('Enter the password for hashing: ').encode()
      except ValueError:
         print("Invalid input. Please enter a string.")
         continue
      if choice == '1':
         hash_with_MD5(password)
      elif choice == '2':
         hash_with_SHA(password)
      elif choice == '3':
         hash_with_blake(password)
            
            # checking if user wants another calculation
      # break the while loop if answer is no
      next_calculation = input("Let's do next calculation? (yes/no): ")
      if next_calculation == "no":
         break
      else:
         print("Invalid Input")

Sortie

Select hashing operation.
1.MD5
2.SHA
3.blake
Enter choice(1/2/3): 2
Enter the password for hashing:Python
Hashed with SHA:
18885f27b5af9012df19e496460f9294d5ab76128824c6f993787004f6d9a7db
Let's do next calculation? (yes/no): yes
Enter choice(1/2/3): 1
Enter the password for hashing:Tutorialspoint 
Hashed with MD5: da653faa9f00528be9a57f3474f0e437
Let's do next calculation? (yes/no): no 

Conclusion

Nous construisons donc ici un programme pour hacher les mots de passe des utilisateurs et les renvoyer pour un stockage sécurisé. Le programme fonctionne avec succès et répond à un objectif important. D'autres modifications peuvent être apportées pour implémenter des fonctionnalités plus récentes, ce que nous ferons plus tard.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer