MD5 est un terme très courant dans l’industrie du logiciel Même si vous ne l’avez jamais utilisé et ne savez pas ce que c’est, vous devez en avoir entendu parler.
Alors, qu'est-ce que le MD5 ? Est-ce un algorithme de cryptage ? Non, md5 est un algorithme de résumé d'informations , qui peut générer une chaîne spéciale à partir d'une chaîne ou d'un fichier selon certaines règles (cette chaîne spéciale est appelée un résumé, je crois comprendre qu'elle est traitée en extrayant certains fragments d'informations du fichier), et le résumé MD5 correspondant à un fichier est corrigé. Lorsque le contenu du fichier change, sa valeur MD5 sera différente (bien qu'en théorie elle puisse être la même, mais la probabilité est extrêmement faible), par conséquent, le La valeur MD5 est souvent utilisée dans les applications pour vérifier si une donnée a été falsifiée.
Par exemple, l'expéditeur des données génère une valeur MD5 à partir des données originales, puis transmet les données originales avec sa valeur MD5 au destinataire. Après avoir reçu les données reçues, les données originales sont d'abord générées. à l'aide de l'algorithme MD5. Les informations récapitulatives sont ensuite comparées aux informations récapitulatives envoyées par l'expéditeur. Si elles sont cohérentes, on considère que les données originales n'ont pas été modifiées, sinon les données originales ont été modifiées.
La valeur MD5 a plusieurs caractéristiques :
1 Il s'agit d'une donnée de longueur fixe, c'est-à-dire un segment binaire de 128 bits composé de "0. " et " 1 ". Quelle que soit la longueur des données originales, leur valeur MD5 est de 128 bits.
2. Habituellement (ou réglementation de l'industrie), ces données de 128 bits sont divisées en 32 groupes selon 4 bits. Chaque groupe calcule sa valeur en hexadécimal et sort chacune sous forme de valeur de caractères. Par exemple, la valeur calculée d'un ensemble de données en hexadécimal est de 0 à 9, et la valeur imprimée est également de 0 à 9. Si la valeur calculée est de a à f, si elle est imprimée directement, elle sera de 10 à 15. en Java. La méthode format("%02x", bytes[i]) imprime l'hexadécimal a-f dans les lettres "a-f". Enfin, les données de 128 bits seront imprimées sous forme de chaîne de 32 bits. Ainsi, ce que nous appelons habituellement la valeur MD5 fait référence à cette chaîne de 32 bits composée de « 0-9, a-f ». Si vous voyez un MD5 qui n'est pas 32 bits ou s'il contient des caractères autres que « 0~f », il doit s'agir d'une valeur MD5 incorrecte.
3. Déterminisme. La valeur MD5 d'une donnée originale est unique. Il est impossible de calculer plusieurs valeurs MD5 différentes pour les mêmes données originales.
4. Collision. Les données originales et leur valeur MD5 ne sont pas en correspondance individuelle. Il est possible que les valeurs MD5 calculées par plusieurs données originales soient les mêmes.
5. Irréversible. C'est-à-dire que si on vous indique une valeur MD5, vous ne pouvez pas restaurer ses données d'origine via celle-ci, non pas parce que votre technologie n'est pas assez performante, mais à cause de son algorithme. Car selon le point 4, une valeur MD5 donnée peut correspondre à plusieurs données originales, et théoriquement elle peut correspondre à un nombre infini de données originales, il est donc impossible de déterminer quelles données originales sont générées.
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!