Exercices sur les dictionnaires⚓︎
Exercice 1 : création d'une rainbow table
Créer une fonction inverse_md5()
qui va chercher dans un dictionnaire (construit préalablement) le mot correspondant au hash donné en paramètre.
À quel mot de passe correspond le hash 33da7a40473c1637f1a2e142f4925194
?
Exemple :
>>> inverse_md5('0571749e2ac330a7455809c6b0e7af90')
>>> 'sunshine'
Aide :
- liste de 1000 mots de passe fréquents : ici
- comment lire / convertir le contenu d'un fichier dans une liste de
string
:lst = open("monfichier.txt").read().splitlines()
- comment calculer du MD5 en Python :
import hashlib result = hashlib.md5('azerty'.encode()) print(result.hexdigest())
Exercice 2
Exercice 2 du sujet Centres Etrangers J1 2021
Correction Q1.a.
flotte[26]
renvoie {'type' : 'classique', 'etat' : 1, 'station' : 'Coliseum'}
Correction Q1.b.
flotte[80]['etat']
renvoie la valeur 0
.
Correction Q1.c.
flotte[99]['etat']
renverra une erreur car la clé 99 n'existe pas.
Correction Q2.a.
Les valeurs possibles pour choix
sont electrique
ou classique
.
Correction Q2.b.
En fonction du choix (electrique
ou classique
), cette fonction va renvoyer le nom de la première station où un vélo est disponible (à l'etat
1).
Seule la première station sera renvoyée, à cause du return
. Si aucun vélo n'est disponible, la fonction ne renverra rien.
Correction Q3.a.
1 2 3 |
|
Correction Q3.b.
1 2 3 |
|
Correction Q4.
1 2 3 4 5 6 7 |
|