Fonction pour hacher (md5) un texte

Soyez le premier à donner votre avis sur cette source.

Snippet vu 22 873 fois - Téléchargée 36 fois

Contenu du snippet

Bon, je crois que c'est dans le titre.
C'est juste une petite fonction qui permet de hacher (crypter) un texte (c'est plus utile pour les mots de passe). Impossible (????) de revenir au texte d'origine, on test donc en hachant de nouveau et en comparant avec une valeur (préalablement hachée) stockée

Source / Exemple :


Private Function CrypterEnMD5(ByVal Texte As String) as string

 Dim md5 As new MD5CryptoServiceProvider
 Dim TexteEnBit() As Byte
 Dim TexteHache() As Byte

 ' Récupération de la valeur en bit du texte à hacher
 TexteEnBit = System.Text.Encoding.UTF8.GetBytes(Texte)

 ' Hachage
 TexteHache = md5.ComputeHash(TexteEnBit)

 'Libération des ressources
 md5.Clear()

 ' Renvoi
 CrypterEnMD5 = Convert.ToBase64String(TexteHache)

End function

Conclusion :


Pour que ça fonctionne, il faut mettre en début du fichier de code la directive suivante
" Imports System.Security.Cryptography "

Bien c'est tout , j'espère que ça aidera quelqu'un ...

A voir également

Ajouter un commentaire Commentaires
Messages postés
164
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
19 décembre 2008

Merci de ne pas tenir compte de mon dernier message, j'ai fais un peu le boulet de service...

Merci quand meme...
Messages postés
164
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
19 décembre 2008

Bjr à tous avant tout...

J'ai testé ta source, elle me parait pas mal, mais malheureusement j'ai un soucis avec :
Private Function CrypterEnMD5(ByVal Texte As String) As String

ca me fait une erreur de :
Statement is not valid in a namespace.

si tu as une idée, je suis preneur

Salutations
Messages postés
7
Date d'inscription
lundi 10 novembre 2003
Statut
Membre
Dernière intervention
2 juillet 2009

La plupart des sites qui "déchiffrent" le MD5 ne trouvent en fait qu'une collision.

Comme expliqué dans le commentaire précédent, ils se basent le plus souvent sur une base de données (un dictionnaire quoi).

De plus, prends un fichier de 1Go constitué uniquement de texte, calcule son MD5 (md5sum fichier sous linux, il faut télécharger des outils pour ca sous Windows (md5sum existe en version windows d'ailleurs)) et demande lui de retrouver le texte contenu dans le fichier.

Soit il le trouve de suite parce qu'il l'a déjà dans son dictionnaire, soit il fait une attaque dessus (Une force brute attack est beaucoup plus longue qu'une birthday attack qui semble avoir été utilisée pour créer des collision sur MD5)

Dans les 2 cas, je ne pense pas qu'il te renvoie le contenu de ton fichier, mais uniquement l'une des colisions probables qui existent (une collision c'est quand 2 fichiers/textes ont le même MD5)

Pour avoir quelque chose de plus sécurisé que le MD5, il vaut mieux utiliser SHA-256 qui semble mieux résister aux attaques pour trouver des collisions.
Messages postés
209
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
6 novembre 2009

Il en existe plusieurs mais il faut savoir qu'il ne décrypte pas, car c'est indécryptable alors il peut faire un "brute force" si je me souviens bien du nom, qui consiste a tester toute les lettres ou chiffres ou autre caractères 1 par 1 (a, aa, ab, ..., ba, bb, ...) puis le hash pour le comparer à celui qu'on lui envoie ou bien en utilisant un dictionnaire de mot où il connait ou bien recalcule le hash pour faire la comparaison, dictionnaire que l'on peut parfois aider à remplir en envoyant des mots dans leur dico ...
Tout cela pour dire que c'est indécriptable mais qu'il existe des solutions pour trouver ce qui se cachait derrière le hash. C'est pourquoi quand on veut un bon mot de passe sécuriser, il faut une longueure minimale (imagines la durée que prendra le "brute force" avec un mot de passe de plus de 8), des caractères spéciaux (on ne les inclut pas toujours dans le "brute force" car la durée augemente encore) et ne pas utiliser des mots connus donc j'inventes un mot de passe : "45z5f!%hd", envoie le sur ton site ou un autre, il ne trouvera pas tant qu'il n'utilisera pas un "brute force" de très longue durée ...
Voilà, tout ca pour répéter que c'est indécryptable.
Messages postés
24
Date d'inscription
mardi 17 juillet 2007
Statut
Membre
Dernière intervention
24 février 2010

slt les amis.
je suis sur qu'il y a 1 site qui decrypte les chaines MD5.
mais je ne me rappel pas de son nom.
mais ce site decrypte seulement les chaines court et simples.
Afficher les 54 commentaires

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.