Maison >Problème commun >algorithme de cryptage md5

algorithme de cryptage md5

(*-*)浩
(*-*)浩original
2019-09-02 09:18:307201parcourir

Qu'est-ce que l'algorithme MD5

MD5 Message-Digest Algorithm (anglais : MD5 Message-Digest Algorithm), une fonction de hachage cryptographique largement utilisée qui peut produire une valeur de hachage de 128 bits (groupe de 16 bits), utilisé pour assurer une transmission complète et cohérente des informations.

algorithme de cryptage md5

Fonction MD5(apprentissage recommandé : tutoriel vidéo web front-end)

Saisissez des informations de n'importe quelle longueur, et après traitement, la sortie est une information de 128 bits (empreinte digitale numérique)

Différentes entrées obtiennent des résultats différents (unicité) ; >MD5 n'appartient pas à l'algorithme de cryptage

Les gens qui pensent qu'il n'en fait pas partie le sont parce qu'ils estiment que le texte original ne peut pas être obtenu à partir du texte chiffré (valeur de hachage), c'est-à-dire qu'il il n'y a pas d'algorithme de décryptage, donc ces gens pensent que MD5 Il ne peut appartenir qu'à un algorithme et ne peut pas être appelé un algorithme de cryptage

Les gens qui pensent qu'il appartient le sont parce qu'ils sentent qu'ils ne peuvent pas voir le texte original après MD5 ; le traitement, c'est-à-dire que le texte original a été crypté, donc ils pensent que MD5 est un algorithme de cryptage ; je le soutiens personnellement. Le premier revient à penser que l'algorithme BASE64 ne peut être considéré que comme un encodage.

L'algorithme MD5 est-il réversible ?

La raison pour laquelle MD5 est irréversible est qu'il s'agit d'une fonction de hachage et qu'elle utilise un algorithme de hachage. Pendant le processus de calcul, une partie des informations d'origine est perdue.

Cependant, il convient de souligner qu'en théorie, un MD5 peut effectivement correspondre à d'innombrables textes originaux, car il existe un nombre limité de MD5 et il peut y avoir d'innombrables textes originaux. Par exemple, le MD5 grand public mappe une "chaîne d'octets" de n'importe quelle longueur en un grand entier de 128 bits

Autrement dit, il y a un total de 2 ^ 128 possibilités, soit environ 3,4 * 10 ^ 38. . Ce nombre est fini. Cependant, il existe d'innombrables possibilités pour le texte original qui peut être utilisé pour le cryptage dans le monde

Mais une chose à noter est que bien qu'il s'agisse d'un fini théorique contre un infini, le problème. est-ce que Infinity n'est pas tout à fait vrai dans la vraie vie, car d'une part, la longueur du texte original est souvent limitée dans la réalité (en prenant comme exemple les mots de passe couramment utilisés, la plupart des gens ont moins de 20 chiffres), et d'autre part. D'un autre côté, nous voulons actuellement trouver que deux morceaux de texte original correspondent au même. Il est très difficile de créer une valeur MD5 (techniquement appelée collision de hachage), donc dans un sens, il est tout à fait possible de construire une valeur un-à-un. correspondance entre la valeur MD5 et le texte original dans une certaine plage, donc MD5 est actuellement la méthode d'attaque la plus efficace. Vous pouvez trouver les détails via Google

MD5 est équivalent. pour une compression excessive.

Objectif MD5

1. Empêcher la falsification :

1) Par exemple, avant d'envoyer un document électronique, je reçois d'abord le résultat de sortie MD5. . Ensuite, une fois que l'autre partie a reçu le document électronique, l'autre partie obtient également un résultat de sortie b. Si a est identique à b, cela signifie qu'il n'a pas été falsifié au cours du processus. ) Par exemple, si je propose le téléchargement de fichiers, afin d'empêcher les criminels d'ajouter des chevaux de Troie au programme d'installation, je peux publier le fichier d'installation sur le site Web. Le résultat de sortie MD5 obtenu 3) SVN utilise également. MD5 pour détecter si le fichier a été modifié après CheckOut.

2. Pour empêcher la visualisation directe du texte brut :

De nombreux sites Web stockent désormais la valeur MD5 du mot de passe de l'utilisateur dans la base de données. de cette façon, même si un criminel obtient la valeur MD5 du mot de passe de l'utilisateur dans la base de données, il ne peut pas connaître le mot de passe de l'utilisateur (par exemple, dans un système UNIX). Il est crypté avec MD5 (ou d'autres algorithmes similaires) et stocké). dans le système de fichiers.

Lorsque l'utilisateur se connecte, le système calcule le mot de passe saisi par l'utilisateur dans une valeur MD5, puis l'enregistre dans le système de fichiers. Comparez la valeur MD5 dans le mot de passe pour déterminer si. le mot de passe saisi est correct.

Grâce à cette étape, le système peut déterminer la légitimité de la connexion de l'utilisateur au système sans connaître le mot de passe clair. Il peut empêcher que le mot de passe de l'utilisateur soit connu des utilisateurs disposant de droits d'administrateur système. , et augmente également dans une certaine mesure la difficulté de piratage du mot de passe)

3. Empêcher la répudiation (signature numérique) :

Cela nécessite une agence de certification tierce Par exemple, si A. rédige un document, l'agence de certification utilise l'algorithme MD5 pour générer des informations récapitulatives et conserver un enregistrement

Si A dit plus tard que le document n'a pas été rédigé par lui, il fera autorité. les informations récapitulatives du document, puis comparez-les avec les informations récapitulatives enregistrées dans le dossier. Si elles sont identiques, il sera prouvé qu'il a été rédigé par A. C'est ce qu'on appelle une « signature numérique ».

Sécurité MD5

On pense généralement que MD5 est très sûr, car le temps de craquage par force brute est inacceptable pour les gens ordinaires. En fait, il est très dangereux que le mot de passe de l'utilisateur soit traité MD5 puis stocké dans la base de données.

Parce que le mot de passe de l'utilisateur est relativement court et que les mots de passe de nombreux utilisateurs utilisent les anniversaires, les numéros de téléphone portable, les numéros d'identification, les numéros de téléphone, etc. Ou utilisez des nombres de bon augure couramment utilisés ou un mot anglais. Si je MD5 les mots de passe couramment utilisés d'abord, stocke les données, puis les fais correspondre avec votre résultat MD5, je peux alors obtenir le texte brut.

Par exemple, il existe un site Web de piratage MD5 http://www.cmd5.com/default.aspx, donc la politique de mot de passe de la plupart des sites Web consiste désormais à forcer les utilisateurs à utiliser une combinaison de chiffres et de lettres majuscules pour améliorer la sécurité. sécurité des mots de passe des utilisateurs.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn