Somme md5 d'un string

Soyez le premier à donner votre avis sur cette source.

Snippet vu 17 935 fois - Téléchargée 25 fois

Contenu du snippet

Suite à une demande sur une de mes sources.

Voici une fonction qui donne une somme MD5 d'un string.

Source / Exemple :


public static string MD5(string Text)
{
   byte[] buffer = System.Text.Encoding.Default.GetBytes(Text);
   try
   {
      System.Security.Cryptography.MD5CryptoServiceProvider check;
      check = new System.Security.Cryptography.MD5CryptoServiceProvider();
      byte[] somme = check.ComputeHash (buffer);
      string ret = "";
      foreach (byte a in somme)
      {
         if (a<16)
            ret += "0" + a.ToString ("X");
         else
            ret += a.ToString ("X");
      }
      return ret ;
   }
   catch 
   {
      throw;
   }
}

// Par exemple pour afficher la somme MD5 d'une textbox dans un label
// label1.Text = MD5(textbox1.Text);

Conclusion :


Bonne prog

@++

A voir également

Ajouter un commentaire

Commentaires

cs_wizad
Messages postés
356
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
14 avril 2009
-
en fait aprés vérification de mes bouquins de maths je m'étais raccordé à ton avis... notons quand même que ça laise plus de 3.10^38 possibilitées ce qui laisse une certaine marge. Il existe néammoins des hashage beaucoup plus solide qui permettent de casser la répartition uniforme (type md5) en utilisant des modulos mais je n'ai pas plus détails.
TeLeTUbIz
Messages postés
215
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
25 septembre 2010
-
Non, il existe une infinité de chaînes ayant même valeurs de hashage. C'est mathématique, un hash (si on prend MD5) fait 128 bits; donc il n'existe que 2**128 possibilités différentes. Or, il existe une infinité de chaînes de caractères. Par le théorème dit "des nids de poule" on montre qu'il y'a forcément une ou des collisions. Puisque MD5 reparti ses hashages uniformément, il y'a une infinité de chaîne pour un résumé donné. Bref, un truc bien compliqué pour dire qu'il n'est pas possible d'éviter les collisions, mais que le secret de MD5 réside dans le fait qu'il est très très très très très (si si, j'insiste) difficile de trouver une chaîne ayant un hachage donné.
cs_wizad
Messages postés
356
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
14 avril 2009
-
"ependant il est possible de trouver une autre chaine de caractères donnant le meme resultat."

me semplait qu'une valeur de hashage (faite avec md5 par exemple) correspondait à une et une seule chaine de caractères...?
cs_Crazyht
Messages postés
1522
Date d'inscription
mardi 18 décembre 2001
Statut
Modérateur
Dernière intervention
21 août 2010
4 -
Cette source est en C# .NET. Eventuellement avec un peu d'adaptation, elle peut fonctionner dans n'importe quel autre langage de la CLR.
cs_Reaper
Messages postés
4
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
24 février 2006
-
Cette source fonctionne-t-elle en c?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.