Bonjour,
Je reçois une chaine crypté par un petit outil windev16 (je ne connais pas du tout windev) avec la fonction :
Résultat> = Crypte(<Chaîne à crypter> , <Mot de passe> [, <Type de cryptage> [, <Format de la chaîne cryptée>]])
Avec :
<Type de cryptage> = crypteSécurisé
<Format de la chaîne cryptée> = compresseAucun
N'ayant jamais fait des cryptage/décryptage côté C#, je suis aller donc directement voir https://docs.microsoft.com/fr-fr/dot...tframework-4.6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| using (Rijndael rijAlg = Rijndael.Create())
{
rijAlg.Key = Encoding.ASCII.GetBytes(Key);
rijAlg.IV = Encoding.ASCII.GetBytes(IV);
// Create a decryptor to perform the stream transform.
ICryptoTransform decryptor = rijAlg.CreateDecryptor(rijAlg.Key, rijAlg.IV);
// Create the streams used for decryption.
using (MemoryStream msDecrypt = new MemoryStream(Encoding.ASCII.GetBytes(cipherText)))
{
using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (StreamReader srDecrypt = new StreamReader(csDecrypt))
{
// Read the decrypted bytes from the decrypting stream
// and place them in a string.
plaintext = srDecrypt.ReadToEnd();
}
}
}
} |
Premier problème dés le début car ici avec la même clé utilisé côté Windev
string Key = "MAPETITECLE";
rijAlg.Key = Encoding.ASCII.GetBytes(Key);
System.Security.Cryptography.CryptographicException*: 'La clé spécifiée n'est pas d'une taille valide pour cet algorithme.'
Le deuxième problème c'est que je n'ai rien comme donnée qui concerne le "IV".
Merci d'avance pour vos réponses, je suis en panne depuis le début de l'après-midi et google n'est pour le moment pas mon ami :/
Partager