在C#Console中解密来自Xamarin Portable的PCLCrypto数据

时间:2016-06-30 05:31:17

标签: c# encryption xamarin

按照本教程使用PCLCrypto加密数据:

http://www.c-sharpcorner.com/UploadFile/4088a7/using-cryptography-in-portable-xamarin-formswindows-phone/

我做的唯一改变是盐,由我自己设定:

byte[] salt = new byte[16];
        salt = Encoding.UTF8.GetBytes("We#@%ds51&s9$$$8");

我无法在控制台应用程序中解密结果:

        public static string Decrypt(string text, byte[] key, int keysize = 128, int blocksize = 128, CipherMode cipher = CipherMode.CBC, PaddingMode padding = PaddingMode.PKCS7)
    {
        AesCryptoServiceProvider aes = new AesCryptoServiceProvider();
        aes.BlockSize = blocksize;
        aes.KeySize = keysize;
        aes.Mode = cipher;
        aes.Padding = padding;

        byte[] iv = new byte[16];
        iv = Encoding.UTF8.GetBytes("We#@%ds51&s9$$$8");

        byte[] src = Convert.FromBase64String(text);
        using (ICryptoTransform decrypt = aes.CreateDecryptor(key, iv))
        {

            byte[] dest = decrypt.TransformFinalBlock(src, 0, src.Length);
            decrypt.Dispose();
            return Encoding.UTF8.GetString(dest);
        }
    }

我做错了什么?

谢谢!

0 个答案:

没有答案