收藏
回答

button:bindgetuserinfo解密encryptedData出错

问题模块
API和组件

有时候正确,有时候出错,用旧的方式就没有出错。

出错:Specified padding mode is not valid for this algorithm


代码如下:

if (string.IsNullOrEmpty(encryptedData)) return "";

            using (var aes = Aes.Create())

            {

                byte[] buffer = Convert.FromBase64String(encryptedData);

                aes.BlockSize = 128;

                aes.Key = Convert.FromBase64String(sessionKey);

                aes.IV = Convert.FromBase64String(iv);

                aes.Mode = CipherMode.CBC;

                aes.Padding = PaddingMode.PKCS7;


                using (var outputStream = new MemoryStream())

                {

                    using (var decryptor = aes.CreateDecryptor(aes.Key, aes.IV))

                    using (var inputStream = new MemoryStream(buffer))

                    using (var cryptoStream = new CryptoStream(inputStream, decryptor, CryptoStreamMode.Read))

                    {

                        cryptoStream.CopyTo(outputStream);

                    }


                    var output = outputStream.ToArray();


                    return Encoding.UTF8.GetString(output);

                }

            }



最后一次编辑于  2017-07-28  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

2 个回答