Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ENCRYPTER UNE CHAINE AVEC MD5


Information sur la source

Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous : encrypter, md5, algorithme, décrypter, sécurité Niveau : Débutant Date de création : 06/03/2006 Date de mise à jour : 06/03/2006 10:27:14 Vu : 18 147

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note


Description

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

  • /// <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 "";
  • }
  • }
/// <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 "";
	}
}

Historique

06 mars 2006 10:18:00 :
Craquage nocturne, j'ai appelé MD5 "SHA" (??)
06 mars 2006 10:21:34 :
Orthographe ^^
06 mars 2006 10:27:15 :
encore une dernière décidemment

Commentaires et avis

signaler à un administrateur
Commentaire de zebobo5 le 06/03/2006 11:55:37

J'ai entendu parler de failles potentielles sur certaines fonctions de hashing, et de sécurité avec le MD5 et SHA-1. Qu'en est il?

signaler à un administrateur
Commentaire de poppyto le 06/03/2006 12:04:13 administrateur CS

D'après les experts, SHA-1 devrait être utilisé à la place de MD5.

signaler à un administrateur
Commentaire de Renfield le 06/03/2006 13:16:58 administrateur CS

j'aime pas trop le terme crypter...
ca implique, selon moi "décryptage possible"...

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

signaler à un administrateur
Commentaire de poppyto le 06/03/2006 13:31:19 administrateur CS

Et pourtant la classe s'appelle MD5CryptoServiceProvider et pas MD5HashServiceProvider...:P

signaler à un administrateur
Commentaire de cYoann le 10/03/2006 16:00:04

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

signaler à un administrateur
Commentaire de poppyto le 10/03/2006 16:03:55 administrateur CS

Bien vu, je ne connaissais pas. Le framework regorge de petites astuces ^^

signaler à un administrateur
Commentaire de n0ne le 21/03/2006 17:45:16

@cYoann : Merci pour HashPasswordForStoringInConfigFile je savais pas quelle existé :) et c'est plus rapide qu'un hashage comme dans cette source.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Failles de sécurité ? [ par exocet ] J'aimerais avoir des infos sur les différentes failles desécurité concernant l'emploi des ASP (comme celles laisséesouvertes par l'oubli d'un Server.H la sécurité d un server ? [ par Poulipe ] Bonjour,existe t il une possibilitée de mirroring d un serveur iis 4 ? ou quelle autre solution serait a envisager quand un serveur plante ? faut il Composant ASP de Cryptage [ par OverApps ] Je recherche un composant compatible ASP permettant de crypter/décrypter des données de MS-ACCESS Et SAL Server d'une part et d'autres part de crypte bouton precedent et sécurité [ par glopglop ] Salut!!L'acces à des pages securisées de mon site se fait par l'intermédiaire d'une page d'authentification! Ensuite toutes les pages sécurisés contie Sécurité [ par Nicow51 ] Bonjour, Est-il possible de définir des acces spécifiques a une appli .net sur des ordinateurs différents suiavnt certains profils : utilisation de co Sécurité un site [ par mwahid ] Comment sécurisé bien un site web au niveau de IIS et au niveau ASP.NET ?? FileSystemObject - FSO probleme de sécurité [ par nicols ] Bonjour,Voila j'ai une question à posée si on laisse la dll qui permet à fso de fonctionner sous un serveur IIS es qu'il est possible de restrinde les script ASP.NET (sécurité) [ par bertho20 ] Bonjour, Dans le cadre d'un cours d'informatique, j'ai du réaliser un site internet. Sur ce site, le visiteur doit s'enregistrer. Mais j'aimerais renf Sécurité quand tu nous tiens......... [ par rabbiwan ] Bonjour,Toujours dans la suite de mon site je voudrais mettre une bonne s&#233;curit&#233; (bien sur la s&#233;curit&#233; parfaite n'existe pas et n' Probleme de sécurité des données [ par ibroman ] question a propos du serveur web CASSINI de Microsoft:je developpe une application web en ASP.NET avec WEBMATRIX, j'ai cr&#233;eun dossier nommn&#233;


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.