Bonjour,
je dois crypter un mot de passe en héxadecimal, "cea6591a4f959bbe" avec la clé suivante : "2020202020202020" la sortie doit être comme suit:"d04c91b73ede1ef5"
quand je convertis ma chaine en byte array j'ai ce message d'erreur : La clé spécifiée n'est pas d'une taille valide pour cet algorithme. voici ma fonction de cryptage.
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
48
49
 
 static string SimpleTripleDes(string Data,string KEY)
           {
                LOGS log = new LOGS();
                string nothing = "";
               try
               {
 
                   //var key = Encoding.UTF8.GetBytes(KEY);
                   byte[] key = HexStringToHex(KEY);
 
                   log.insert_dans_log("key data" + key.Length);
 
                  // var data = Encoding.UTF8.GetBytes(Data);
                   byte[] data = HexStringToHex(Data);
                   log.insert_dans_log("longueur data" + data.Length);
                   byte[] enc = new byte[0];
                   log.insert_dans_log(" enc");
 
                   TripleDES tdes = TripleDES.Create();
                   log.insert_dans_log(" tdes");
                  // tdes.KeySize = 64;
                   log.insert_dans_log(" keysize");
 
                   tdes.Key = key;
                   log.insert_dans_log(" Key");
 
 
                   tdes.Mode = CipherMode.ECB;
                   log.insert_dans_log(" Mode");
 
                   tdes.Padding = PaddingMode.Zeros;
                   log.insert_dans_log(" Padding");
 
                   ICryptoTransform ict = tdes.CreateEncryptor();
                   enc = ict.TransformFinalBlock(data, 0, 16);
                   log.insert_dans_log(" enc");
 
                  // return Convert.ToBase64String(enc);
                   //var str = System.Text.Encoding.Default.GetString(enc);
                   return ToString(enc);
                   // return str;
               }
               catch (Exception ex)
               {
                   log.insert_dans_log("erreur encrypt  ---"+ex.Message.ToString());
                   return nothing;
               }
           }
Merci d'avance.