Расшифровка в проекте Windows RT

Этот код хорошо работает в проекте Windows Phone Silverlight. но это не работает в проекте Windows RT. его syay cryptographic и Aes и AesManaged классы отсутствуют и т.д., пожалуйста, помогите мне спасибо. мне действительно не нужен пароль и соль. это просто взять строку и расшифровать ее.

public class DecryptionHelper
{
    public static string Decrypt(string base64StringToDecrypt)
    {
        if (string.IsNullOrEmpty(base64StringToDecrypt))
            return string.Empty;
        //Set up the encryption objects
        using (Aes acsp = GetProvider(Encoding.UTF8.GetBytes
                                                    (Constants.EncryptionKey)))
        {
            byte[] RawBytes = Convert.FromBase64String(base64StringToDecrypt);
            ICryptoTransform ictD = acsp.CreateDecryptor();
            //RawBytes now contains original byte array, still in Encrypted state
            //Decrypt into stream
            MemoryStream msD = new MemoryStream(RawBytes, 0, RawBytes.Length);
            CryptoStream csD = new CryptoStream(msD, ictD, CryptoStreamMode.Read);
            //csD now contains original byte array, fully decrypted
            //return the content of msD as a regular string
            return (new StreamReader(csD)).ReadToEnd();
        }
    }

    private static Aes GetProvider(byte[] key)
    {
        Aes result = new AesManaged();
        result.GenerateIV();
        result.IV = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
        byte[] RealKey = GetKey(key, result);
        result.Key = RealKey;
        return result;
    }

    private static byte[] GetKey(byte[] suggestedKey, SymmetricAlgorithm p)
    {
        byte[] kRaw = suggestedKey;
        List<byte> kList = new List<byte>();
        for (int i = 0; i < p.LegalKeySizes[0].MinSize; i += 8)
        {
            kList.Add(kRaw[(i / 8) % kRaw.Length]);
        }
        byte[] k = kList.ToArray();
        return k;
    }
}

0 ответов

Другие вопросы по тегам