Encrypter une chaine avec md5

Soyez le premier à donner votre avis sur cette source.

Snippet vu 27 397 fois - Téléchargée 27 fois

Contenu du snippet

L'encryptage MD5 ne peut pas être décodé. Il est souvent utiliser pour stocker les mots de passe d'utilisateurs dans les bases de données. C'est pourquoi la plupart des sites ne peuvent pas vous renvoyer votre mot de passe quand vous l'avez perdu (pour la bonne raison qu'il n'est pas stocké !).

Les chaines MD5 sont représentées sous la forme de 32 caractères hexadécimales telles que : "A94C66F6570091DC6923966C21BC4C16". La source que je vous propose encrypte en majuscule.

Bon encryptage

Source / Exemple :


/// <summary>
/// Encryptage MD5
/// </summary>
/// <param name="Chaine">Chaine à encrypter</param>
public static string EncrypterMD5(string Chaine)
{
	//vérifier que la chaine n'est pas nulle
	if (!string.IsNullOrEmpty(Chaine))
	{
		UnicodeEncoding MonConvertisseur = new UnicodeEncoding();
		MD5CryptoServiceProvider MonCryteur = new MD5CryptoServiceProvider();

		//on convertit en byte
		byte[] MaChaineToHash = MonConvertisseur.GetBytes(Chaine);
		//et on crypte
		byte[] HashValue = MonCryteur.ComputeHash(MaChaineToHash);

		//On convertit le Hash en hexa
		string PasswdCrypte = "";
		for (int i = 0; i < HashValue.Length; i++)
			PasswdCrypte += string.Format("{0:X2}", HashValue[i]);

		// Renvoie MD5 hexa hash		
		return PasswdCrypte;
	}
	else
	{
		return "";
	}
}

A voir également

Ajouter un commentaire

Commentaires

n0ne
Messages postés
24
Date d'inscription
samedi 18 février 2006
Statut
Membre
Dernière intervention
23 mars 2006

@cYoann : Merci pour HashPasswordForStoringInConfigFile je savais pas quelle existé :) et c'est plus rapide qu'un hashage comme dans cette source.
cs_poppyto
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

Bien vu, je ne connaissais pas. Le framework regorge de petites astuces ^^
cYoann
Messages postés
6
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
10 mars 2006

Il existe un moyen beaucoup plus rapide pour "hasher" un mot de passe !
La fonction HashPasswordForStoringInConfigFile qui se trouve dans le namespace System.Web.Security.FormsAuthentication

Elle accepte deux paramètres de type string, le premier c'est le mot de passe et le second c'est le mode de "hashage" qui peut être md5 ou sha1
cs_poppyto
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

Et pourtant la classe s'appelle MD5CryptoServiceProvider et pas MD5HashServiceProvider...:P
Renfield
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
61
j'aime pas trop le terme crypter...
ca implique, selon moi "décryptage possible"...

http://solutions.journaldunet.com/0502/050221_cryptographie_sha.shtml

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.