Je travaille avec un service côté serveur que je ne contrôle pas. Les belles œuvres dans la norme C# suivant, mais ne fonctionne pas (en raison de manquer des cours) dans Silverlight crypto 2 et 3.Comment puis-je contourner les classes de cryptage manquantes dans silverlight 2/3?
static String DecryptString()
{
s = "<cipherTextHere>";
byte[] toDecryptArray = Convert.FromBase64String(s);
string key = "<key here>";
byte[] keyArray = new byte[key.Length/2];
for (int i = 0; i < keyArray.Length; i++)
{
keyArray[i] = Convert.ToByte(Convert.ToInt32(key.Substring(i * 2, 2), 16));
}
using (var algo = new System.Security.Cryptography.AesManaged())
{
// The two lines below are the problem
// as SL does not give me the option to select padding or ciphermode
algo.Padding = PaddingMode.PKCS7;
algo.Mode = CipherMode.ECB;
algo.Key = keyArray;
ICryptoTransform cTransform = algo.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(
toDecryptArray, 0, toDecryptArray.Length);
return (UTF8Encoding.UTF8.GetString(resultArray, 0, resultArray.Length));
}
}
Quelles sont mes options?
le problème est qu'ils ne semblent pas avoir quoi que ce soit compilé pour silverlight. – aronchick
assez facile à décompiler personnalisé pour Silverlight, ils ont déjà une version pour Compact Framework –