• 微信解密encryptedDataStr获取用户信息


    A:<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
    B:<button open-type="getUserInfo" lang="zh_CN" bindgetphonenumber="getuserInfo"></button>

    注意:

    如果你用A请求的方法返回的信息是手机号,用B请求的返回的是用户基本信息 ,open-type决定

    方法:
      /// <summary>
            /// 解密encryptedDataStr
            /// </summary>
            /// <param name="session_key"></param>
            /// <param name="iv"></param>
            /// <param name="encryptedDataStr"></param>
            /// <returns></returns>
            public static string AES_decrypt(string session_key, string iv, string encryptedDataStr)
            {
                if (session_key == "undefined" ||  iv == "undefined" || encryptedDataStr == "undefined")
                {
                    return "404";
                }
                else
                {
                    RijndaelManaged rijalg = new RijndaelManaged();
                    //-----------------      
                    //设置 cipher 格式 AES-128-CBC       
                    rijalg.KeySize = 128;
                    rijalg.Padding = PaddingMode.PKCS7;
                    rijalg.Mode = CipherMode.CBC;
                    rijalg.Key = Convert.FromBase64String(session_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;
                }
               
            }

  • 相关阅读:
    百度影音盒插入论坛帖子自动播放代码及方法
    vFloppy1.5-虚拟启动软盘
    飞秋的实现原理
    博客盈利请先考虑这七点
    下载站运行广告合作exe文件然后再运行程序文件的bat
    木马病毒是什么以及手工清除木马病毒具体步骤
    网站盈利模式分析分类
    软件更新原理
    浅析php学习的路线图
    网页常用分享代码大全(前端必备)
  • 原文地址:https://www.cnblogs.com/aghk/p/13268056.html
Copyright © 2020-2023  润新知