# =================================== # Recherche d'un mot de passe par force brute # nsi.gecif.net # décembre 2024 # =================================== from itertools import * # --------------------------------------------------------------------- # la fonction mot_de_passe renvoie True si le code passé en paramètre est le bon : def mot_de_passe(code): # ici le code est une chaîne de caractères contenant 4 lettres minuscules : return code=='lion' # --------------------------------------------------------------------- # création d'une liste en compréhension pour obtenir les 26 lettres minuscules de l'alphabet : alphabet=[chr(97+i) for i in range(26)] # --------------------------------------------------------------------- # test sans utiliser la fonction permutations du module itertools : for c1 in alphabet: for c2 in alphabet: for c3 in alphabet: for c4 in alphabet: test=c1+c2+c3+c4 if mot_de_passe(test): print("Mot de passe trouvé :",test) # --------------------------------------------------------------------- # test en utilisant la fonction permutations du module itertools : tout_les_cas=list(permutations(alphabet,4)) for un_cas in tout_les_cas: test='' for c in un_cas: test=test+c if mot_de_passe(test): print("Mot de passe trouvé :",test)