C# Language MD5


Exemple

Les fonctions de hachage mappent les chaînes binaires de longueur arbitraire sur de petites chaînes binaires de longueur fixe.

L'algorithme MD5 est une fonction de hachage largement utilisée qui produit une valeur de hachage de 128 bits (16 octets, 32 caractères hexadécimaux).

La méthode ComputeHash de la classe System.Security.Cryptography.MD5 renvoie le hachage sous la forme d'un tableau de 16 octets.


Exemple:

using System;
using System.Security.Cryptography;
using System.Text;

internal class Program
{
    private static void Main()
    {
        var source = "Hello World!";

        // Creates an instance of the default implementation of the MD5 hash algorithm.
        using (var md5Hash = MD5.Create())
        {
            // Byte array representation of source string
            var sourceBytes = Encoding.UTF8.GetBytes(source);

            // Generate hash value(Byte Array) for input data
            var hashBytes = md5Hash.ComputeHash(sourceBytes);

            // Convert hash byte array to string
            var hash = BitConverter.ToString(hashBytes).Replace("-", string.Empty);

            // Output the MD5 hash
            Console.WriteLine("The MD5 hash of " + source + " is: " + hash);
        }
    }
}

Sortie: Le hash MD5 de Hello World! est: ED076287532E86365E841E92BFC50D8C


Les problèmes de sécurité:

Comme la plupart des fonctions de hachage, MD5 n'est ni un cryptage ni un encodage. Il peut être inversé par une attaque par force brute et souffre d'importantes vulnérabilités contre les collisions et les attaques par pré-image.