Bonjour,

J'ai un problème que je n'arrive pas à régler avec Visual Studio.
Ici on va récupérer le checksum d’un fichier XML pour vérifier la validité d’un fichier XML. Je récupère aussi la date et le login que je vais encoder en MD5 et je vais construire une string avec cette variable StringBuilder.
J’essaye de convertir cette variable en string avec la fonction « toString() » j’ai déjà essayé Convert.toString mais ça ne marche pas. La fonction ne veut pas le convertir quand je l’affiche. Il m’affiche ce que je ne veux pas, j’ai vérifié il récupère bien les données du fichier XML. J’ai tout testé et j’ai vu que ToString ne fonctionnait pas. J’ai redémarré mon PC, j’ai relancé Visual Studio. Et ça ne marche toujours pas. Je travaille sur Visual Studio 2012 et j'ai testé sur 2010 c'est la même chose.

Est-ce que quelqu'un aurait une solution à mon problème ?

Merci pour votre aide !

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
FileManager file = new FileManager(filename);
            if (file.exist())
                try
                {
                    XElement document = file.getXmlContent();
                    TrackerInterface tracker = ((Main)this.MdiParent).globalConfig.getDriver(document.Element("model").Value,
                                                                                             document.Element("version").Value);
                    string checksum = document.Element("checksum").Value;
                    string date = document.Element("date").Value;
                    foreach (XElement family in document.Elements("family"))
                        foreach (XElement param in family.Elements("param"))
                            if (param.Attribute("id").Value.Equals("DEVICE_ID"))
                            {
                                string result = param.Value + date + "www.fr";
                                MD5 md5 = MD5.Create();
                                byte[] inputresult = System.Text.Encoding.ASCII.GetBytes(result);
                                byte[] hash = md5.ComputeHash(inputresult);
 
                                StringBuilder sb = new StringBuilder();
                                for (int i = 0; i < hash.Length; i++)
                                {
                                    sb.Append(hash[i].ToString());
                                }
                                if (checksum == sb.ToString())
                                {
                                    Perspective filePerspective = new Perspective();
                                    filePerspective.tracker = tracker;
                                    filePerspective.File = file;
                                    return filePerspective;
                                }
                                else
                               {
                                    throw new Exception(Lang.NotCompatibleFile);
                                }
                            }            
                }
                catch (Exception)
                {
                    MessageBox.Show(Lang.NotCompatibleFile);
                }
            return null;