Bonjour.
Suite à mon premier poste, il me faudrait un tutoriel sur le cryptage(et décryptage) MD5, avec & sans key, complet quoi.
Je vous demande une fois de plus votre aide, cordialement.
PS : Google, mon ex ne m'a pas aidé ce coup-ci.
Bonjour.
Suite à mon premier poste, il me faudrait un tutoriel sur le cryptage(et décryptage) MD5, avec & sans key, complet quoi.
Je vous demande une fois de plus votre aide, cordialement.
PS : Google, mon ex ne m'a pas aidé ce coup-ci.
Je ne saurait te décrire l'algoritme. Est ce un exemple que tu recherche?
cadeau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Security.Cryptography; namespace FrameWork.Checksums { public class MD5Summer { public static string GetMD5HashFromFile(string fileName) { MD5 md5 = null; byte[] retVal = null; StringBuilder sb = null; FileStream file = null; try { using (file = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { if (file == null || !file.CanRead) throw new IOException(String.Format("impossible de lire {0}", fileName)); md5 = new MD5CryptoServiceProvider(); retVal = md5.ComputeHash(file); file.Close(); } } catch { if (file != null) { file.Close(); } throw; } sb = new StringBuilder(); for (int i = 0; i < retVal.Length; i++) { sb.Append(retVal[i].ToString("x2")); } return sb.ToString(); } } }
A mon avis c'est un peu trop ciblé pour qu'il y ait un tutoriel spécifique à ce sujet... Regarde la doc, il y a des exemples :
http://msdn.microsoft.com/en-us/libr...raphy.md5.aspx
Soit dit en passant, MD5 n'est pas un algorithme de cryptage, mais un algorithme de hachage. Il n'est donc pas possible de "décrypter" les données...
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Et je rajoute que MD5 n'est plus considéré comme sur pour le hachage car il est simple de trouver des collisions (deux chaines différentes qui auraient le même hash).
Retrouvez moi sur :
Mon Espace Developpez.com-------------------------------
Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code----------------------------
Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
C'est vrai, mais :
Le terme "simple" ici est quand même un peu excessif.car il est simple de trouver des collisions (deux chaines différentes qui auraient le même hash).
Il y a quelques infos sur le sujet sur l'article de wikipedia traitant du MD5 :
http://en.wikipedia.org/wiki/MD5
Merci de toutes ces réponses.
J'ai enfin trouvé une solution, désolé c'est un lien externe je le donne mais si cela gêne vous pourrez le supprimer(tant que le code est sur le post.)
http://tutorialgenius.blogspot.fr/20...ecryption.html
Pas bien compliqué en fait ^^'
Cordialement.
Euh le code en question ne fait pas du tout du MD5 (d'ailleurs je le repète, un hashage MD5 n'est pas réversible). Il encode et décode avec un algo Triple DES. Le MD5 sert juste comme clef d'encodage.
Retrouvez moi sur :
Mon Espace Developpez.com-------------------------------
Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code----------------------------
Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
Ah mince !
Je pense que ceci est possible car :
Je dois me connecter au serveur de jeu(avec la clée d'encryption qui vient de m'être envoyé par le serveur de jeu lui même dès ma connexion[TCP])
Puis utiliser cette clée pour encrypté mon mot de passe
TOPO >> Envoyé mes identifiants sous forme de 'nomdecompte + motdepasseCRYPTER' en sachant que je n'ai pas besoin de crypté le nom de compte.
Oui mais c'est impossible de faire l'opération inverse. Ou alors il y a une subtilité qui nous échappe dans ton message
Pour info ce qui est généralement fait sur les sites: une personne s'inscrit, elle choisit un mot de passe, ce mot de passe est stockée en base sous sa forme hashée (via MD5) par exemple.
Lors d'une authentification ultérieure on n'essaie pas de "decrypter" le hash (car c'est impossible) mais on compare le hash stocké en base avec le hash du mot de passe de la tentative d'authenfication. Si les hashs sont identiques, c'est que le mot de passe est le même (ou qu'il y a une collision).
Retrouvez moi sur :
Mon Espace Developpez.com-------------------------------
Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code----------------------------
Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
Ce qui vous échappe, c'est que j'ai la key de 'hashage'/'cryptage' ?
Cordialement.
Bah c'est pas du MD5 alors car un MD5 ne prend pas de clef et n'est pas reversible.
Retrouvez moi sur :
Mon Espace Developpez.com-------------------------------
Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code----------------------------
Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
Partager