美文网首页
asp.net core 解密微信小程序中的encryptedD

asp.net core 解密微信小程序中的encryptedD

作者: 海玲珑 | 来源:发表于2017-08-17 14:45 被阅读0次

直接上代码:

       /// <summary>
        /// 微信小程序 encryptedData 解密
        /// </summary>
        /// <param name="encryptedDataStr"></param>
        /// <param name="key">session_key</param>
        /// <param name="iv">iv</param>
        /// <returns></returns>
        public string AES_decrypt22(string encryptedDataStr, string key, string iv)
        {
            var rijalg = Aes.Create();
           // RijndaelManaged rijalg = new RijndaelManaged();
            //----------------- 
            //设置 cipher 格式 AES-128-CBC 

            rijalg.KeySize = 128;

            rijalg.Padding = PaddingMode.PKCS7;
            rijalg.Mode = CipherMode.CBC;

            rijalg.Key = Convert.FromBase64String(key);
            rijalg.IV = Convert.FromBase64String(iv);


            byte[] encryptedData = Convert.FromBase64String(encryptedDataStr);
            //解密 
            ICryptoTransform decryptor = rijalg.CreateDecryptor(rijalg.Key, rijalg.IV);

            string result;

            using (MemoryStream msDecrypt = new MemoryStream(encryptedData))
            {
                using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
                {
                    using (StreamReader srDecrypt = new StreamReader(csDecrypt))
                    {

                        result = srDecrypt.ReadToEnd();
                    }
                }
            }
            return result;
        }

相关文章

网友评论

      本文标题:asp.net core 解密微信小程序中的encryptedD

      本文链接:https://www.haomeiwen.com/subject/zozgrxtx.html