4186关注13040浏览
以下C#代码是解密 API wx.getUserInfo 返回的encryptedData ,但是会出现持续性的解密出来是一串乱码,如解密成功了,持续的全部解密成功, 直到下次有解密失败的,又持续的解密失败。大伙有没有更好的办法吗?
private static byte[] AES_decrypt(string input, string iv, string key)
{
RijndaelManaged aes = new RijndaelManaged();
aes.KeySize = 256;
aes.BlockSize = 128;
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.None;
aes.Key = Convert.FromBase64String(key);
aes.IV = Convert.FromBase64String(iv);
var decrypt = aes.CreateDecryptor(aes.Key, aes.IV);
byte[] xBuff = null;
using (var ms = new MemoryStream())
{
using (var cs = new CryptoStream(ms, decrypt, CryptoStreamMode.Write))
{
byte[] xXml = Convert.FromBase64String(input);
byte[] msg = new byte[xXml.Length + 32 - xXml.Length % 32];
Array.Copy(xXml, msg, xXml.Length);
cs.Write(xXml, 0, xXml.Length);
}
&nbs
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
清酒孤欢
15人对此回答表示赞同
你乱码问题解决没?我用的java,php都试了,每次解密出来前边几个字符是乱码,最终你怎么解决乱码的?
展开150回复分享发布于 6年前评论(0)
收起评论
-
Rita
10人对此回答表示赞同
展开100回复分享发布于 6年前评论(0)
收起评论
-
Lily
9人对此回答表示赞同
ivr7BXXKkLb8qrSNn05n0qiA==
展开90回复分享发布于 6年前评论(0)
收起评论
-
Jerry不怕猫
9人对此回答表示赞同
好的谢谢我就是iv用错了导致的
展开90回复分享发布于 6年前评论(0)
收起评论
-
刘思杰
4人对此回答表示赞同
主要我这是可以解密但是就是每次都是前边几个字符乱码
展开40回复分享发布于 6年前评论(0)
收起评论
-
小玲珑
4人对此回答表示赞同
还要IV才能解密
展开40回复分享发布于 6年前评论(0)
收起评论
-
Kenneth
3人对此回答表示赞同
没有,。遇到解密不了的,在发起一次login
展开30回复分享发布于 6年前评论(0)
收起评论
-
Rutledge
3人对此回答表示赞同
对称解密算法初始向量为Base64_Decode(iv),其中iv由数据接口返回。
展开30回复分享发布于 6年前评论(0)
收起评论