Qu'est-ce que le hachage MD5 à Python?
L'une des méthodes de hachage fournies par le module de hashlib de Python est le hachage MD5. Pour effectuer les calculs de hachage, il est principalement utilisé dans les fonctions cryptographiques. Le hachage peut également être utilisé pour créer des caches d'ensembles de données massifs, vérifier les mots de passe, vérifier les empreintes digitales, vérifier l'intégrité des fichiers, etc. Il prend une chaîne d'octet comme entrée et sort une chaîne hexadécimale comme valeur codée. Une valeur de hachage 128 bits est produite lors du codage des données de chaîne à un hachage MD5. Vous devez être prudent lorsque vous choisissez le codage du caractère pour convertir les données de texte en binaire avant le hachage, car les algorithmes de hachage fonctionnent souvent avec des données binaires plutôt que des données textuelles. Le hachage entraîne également des données binaires.
Les fonctions associées au hachage MD5 sont:
encoder(): Il crée des octets à partir de la chaîne afin que la fonction de hachage puisse les utiliser.
digérer(): Il renvoie les données codées ou chiffrées sous forme d'octets.
hexdigest (): Le format hexadécimal des données codées est renvoyé à l'aide de cette fonction.
Avantages de MD5
Comment utiliser le hachage MD5 dans Python?
Comment obtenir MD5 des objets de chaîne et des fichiers sont démontrés dans la section suivante.
Calcul de la valeur de hachage MD5 d'une chaîne
Le calcul de la valeur de hachage d'un objet de chaîne dans Python implique généralement quatre étapes:
La variable de chaîne «String» est définie avec un codage binaire dans le script précédent. Le «hashlib.La méthode MD5 »peut donc être utilisée pour crypter directement la chaîne. La sortie codée est affichée à l'aide de la fonction de digestion. Une chaîne binaire peut ne pas toujours être disponible en entrée. Dans de tels scénarios, vous devez d'abord convertir les données en une séquence binaire avant de la passer à l'algorithme de hachage MD5.
Nous regardons maintenant quelques exemples pour calculer le hachage MD5 d'un objet de chaîne.
Exemple 1: Impression des données de chaîne en octets équivalents au hachage MD5
Pour utiliser la fonction MD5, nous devons d'abord importer le module Hashlib. Nous transmettons des données de chaîne à l'intérieur de la fonction MD5. Ensuite, nous imprimons sous la forme de la valeur de hachage MD5 ainsi que sous la forme d'octets.
La fonction de hachage peut accepter les octets comme entrée. Ainsi, nous passons les cordes sous forme d'octets à la fonction md5 () dans le code précédent. La méthode du hachage MD5 crypte ensuite les données fournies. Enfin, nous utilisons la fonction digest () pour générer l'équivalent d'octet de la chaîne codée du hachage MD5.
Exemple 2: Impression des données de chaîne en hexadécimal équivalent au hachage MD5
Maintenant, nous imprimons les données en hexadécimal après l'avoir codé dans le hachage MD5. Dans l'exemple précédent, nous utilisons «B» juste avant la valeur de la chaîne pour coder la chaîne en octets. Ici, nous appliquons la fonction encoder () sur la chaîne pour la coder. Les deux approches donnent des résultats identiques. Cependant, nous pouvons spécifier le format de codage de notre choix à l'aide de la fonction Encode ().
Ici, nous utilisons la fonction Encode () pour transformer les données de chaîne spécifiées en un octet afin qu'il puisse être transmis à une fonction de hachage qui l'accepterait. Ensuite, il est codé avec la fonction MD5. Enfin, sa valeur hexadécimale est renvoyée en utilisant la méthode hexidest ().
Calcul de la valeur de hachage MD5 d'un fichier
Le hashlib module intégré de Python peut également être utilisé pour créer le hachage MD5 d'un fichier
Exemple 1: La valeur de hachage MD5 d'un petit fichier dans Python
Vous devez savoir que spécifiant simplement un nom de fichier dans le hashlib.La fonction md5 (), comme dans l'exemple suivant, ne renvoie pas la valeur de hachage du fichier.
La valeur renvoyée n'est pas le hachage MD5 de notre fichier. Mais c'est la valeur de hachage MD5 du «Python.Txt ”String.
Pour obtenir la bonne valeur de hachage MD5 du fichier, vous devez d'abord lire le fichier en octets. Il est facile, tout ce que nous avons à faire est de lire le contenu du fichier et de le convertir en octets. L'octet est ensuite transmis à Hashlib.md5 () pour obtenir la valeur de hachage MD5.
Comme on peut le voir, la fonction calcule la valeur de hachage MD5 du fichier avec succès.
Exemple 2: La valeur de hachage MD5 d'un grand fichier dans Python
Si le fichier est de 10 Go de taille, disons que c'est un grand fichier journal, un vidage de trafic, un jeu vidéo, etc., il utiliserait probablement toute votre mémoire si vous essayez d'en créer un hachage MD5. Dans un tel cas, nous pouvons lire les grands fichiers dans des morceaux d'octets, qui est un moyen économe en mémoire de calculer les hachages MD5. La taille des morceaux dépend de votre exigence, de la taille de votre fichier, de la mémoire de votre système, etc. Par conséquent, dans cette procédure, nous traitons séquentiellement les morceaux tout en mettant à jour le hachage. En conséquence, le hachage MD5 est mis à jour 100 fois au cours de ce processus, s'il y a 100 morceaux de fichier de ce type.
Nous lisons les données sur des morceaux en utilisant l'aide d'une boucle de temps pendant que la valeur de hachage MD5 est mise à jour à l'aide de la fonction Update ().
Comparez et validez le hachage MD5 d'un fichier
Au serveur ou en utilisant une logique dans votre code, nous devons valider le hachage MD5 des données ou du fichier. Nous créons à nouveau le hachage MD5 du fichier d'origine pour vérifier le hachage. Après cela, comparez les valeurs MD5 générées par la source et nous.
Comme les deux valeurs, la valeur de Source_MD5 et la valeur de hachage MD5 de notre fichier correspondaient. Cela signifie que la valeur de hachage MD5 est vérifiée.
Conclusion
Nous avons d'abord appris les fonctions de hachage dans ce tutoriel. Nous avons expliqué ce que Hashlib.La fonction md5 () est et quelles fonctions y sont associées. Nous avons discuté de certains avantages et applications des fonctions de hachage MD5. Nous avons appris à utiliser le hashlib.Méthode MD5 () pour calculer la valeur de hachage MD5 d'une chaîne. Nous avons également mis en œuvre quelques exemples pour vous apprendre à calculer et à vérifier la valeur de hachage MD5 des petits et grands fichiers en python.