C#实现微信AES-128-CBC加密数据的解密
1.微信小程序登录获取用户的openid信息
需要使用AES-128-CBC解密处理
/// <summary>/// ASE加解密/// </summary>public class AESHelper{/// <summary>/// 秘钥/// </summary>public static string AesKey;/// <summary>/// 16位初始向量/// </summary>public static string AesIV;/// <summary>/// AES解密/// </summary>/// <param name="text"></param>/// <param name="password"></param>/// <param name="iv"></param>/// <returns></returns>public static string AESDecrypt(string text){try{//16进制数据转换成bytebyte[] encryptedData = Convert.FromBase64String(text); // strToToHexByte(text);RijndaelManaged rijndaelCipher = new RijndaelManaged();rijndaelCipher.Key = Convert.FromBase64String(AesKey); // Encoding.UTF8.GetBytes(AesKey);rijndaelCipher.IV = Convert.FromBase64String(AesIV);// Encoding.UTF8.GetBytes(AesIV);rijndaelCipher.Mode = CipherMode.CBC;rijndaelCipher.Padding = PaddingMode.PKCS7;ICryptoTransform transform = rijndaelCipher.CreateDecryptor();byte[] plainText = transform.TransformFinalBlock(encryptedData, 0, encryptedData.Length);string result = Encoding.Default.GetString(plainText);return result;}catch (Exception ex){throw ex;}}}
测试代码:
AESHelper.AesIV = "r7BXXKkLb8qrSNn05n0qiA==";
AESHelper.AesKey = "tiihtNczf5v6AKRyjwEUhQ==";
string text ="CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZM" +"QmRzooG2xrDcvSnxIMXFufNstNGTyaGS" +"9uT5geRa0W4oTOb1WT7fJlAC+oNPdbB+" +"3hVbJSRgv+4lGOETKUQz6OYStslQ142d" +"NCuabNPGBzlooOmB231qMM85d2/fV6Ch" +"evvXvQP8Hkue1poOFtnEtpyxVLW1zAo6" +"/1Xx1COxFvrc2d7UL/lmHInNlxuacJXw" +"u0fjpXfz/YqYzBIBzD6WUfTIF9GRHpOn" +"/Hz7saL8xz+W//FRAUid1OksQaQx4CMs" +"8LOddcQhULW4ucetDf96JcR3g0gfRK4P" +"C7E/r7Z6xNrXd2UIeorGj5Ef7b1pJAYB" +"6Y5anaHqZ9J6nKEBvB4DnNLIVWSgARns" +"/8wR2SiRS7MNACwTyrGvt9ts8p12PKFd" +"lqYTopNHR1Vf7XjfhQlVsAJdNiKdYmYV" +"oKlaRv85IfVunYzO0IKXsyl7JCUjCpoG" +"20f0a04COwfneQAGGwd5oa+T8yO5hzuy" +"Db/XcxxmK01EpqOyuxINew==";
string s = AESHelper.AESDecrypt(text);
Console.WriteLine(s);
原文参考:https://www.cnblogs.com/jetz/p/6384809.html
更多:
C# 调用微信公众号接口获取会员信息示例
C# 调用微信公众号接口发送客服消息示例
C# 调用微信公众号接口生成带参数二维码、下载、合并
C#实现微信AES-128-CBC加密数据的解密相关推荐
- 使用openssl进行AES 128 CTR 加密、解密
参考文章 https://blog.csdn.net/yasi_xi/article/details/13997337 对称加密如非对称加密 AES128-CTR方式,属于对称加密的一种. 这里有一篇 ...
- Go Nodejs Java Aes 128 ECB加密解密结果保持一致
在多语言的生产环境下,常常是由一种语言进行加密而由另一种语言来进行解密,因此有必要保持各种语言之间加密解密算法的一致性.下面列出了Go,Nodejs,Java 的 Aes-128-Ecb的加密解密算法 ...
- PHP微信小程序之获取并解密用户数据获取openId和unionId
前言 微信小程序API文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html 在实际的小程序开发中,往往需要用户授权登陆并获取用 ...
- AES 128位CBC加密解密(不使用固定IV)
安全检查时要求账号和密码加密后才能存到数据库中,要求加密算法如下: 1)分组密码算法:AES(密钥长度在128位及以上)(GCM或CBC模式) 2)流密码算法:AES(密钥长度在128位及以上)(OF ...
- php aes 128位加密,php实现AES 128位加密的相关操作技巧分享
php实现AES 128位加密的相关操作技巧是什么?这篇文章主要介绍了PHP实现的AES 128位加密算法,结合实例形式分析了AES 128位加密的相关概念.原理及php实现AES 128位加密的相关 ...
- java aes ctr_AES CBC和CTR加解密实例
http://www.metsky.com/archives/585.html 2012 AES(Advanced Encryption Standard,高级加密标准) 又叫Rijndael加密法, ...
- 常用对称加密算法之AES算法-CBC模式
这个需求很简单就是存储数据库密码,因为链接数据库的需要用到,加密就必须要用对称加密算法,于是简单调研了一下对称加密算法,经过对比最后选择了AES算法-CBC模式 怎么理解对称加密 加密:接收秘钥key ...
- [crypto]-52-python3中rsa(签名验签加密解密)aes(ecb cbc ctr)hmac的使用,以及unittest测试用
环境: 在ubuntu14.04下,记得安装:sudo pip3 install pycrypto 代码示例1: =========================== import base64 f ...
- android怎样生成固定的aes密钥,关于android:如何更改AES 128的密钥数量
本问题已经有最佳答案,请猛点这里访问. 我找到了一个android加密的源..它使用的是aes 128位加密..但是密钥的数量固定为16个字符..有人能告诉我如何根据我们的意愿更改数字密钥..我不想限 ...
最新文章
- 2021年大数据常用语言Scala(十五):基础语法学习 元组 重点掌握
- 设计模式之笔记--装饰模式(Decorator)
- 三种 MySQL 大表优化方案
- 一文详解CMakeLists文件编写语法规则详解
- AI口语翻译,遇到的可不止口齿不清…….
- asp.net 在使用Response.Redirect try{}catch{}块失效
- 概率假设密度滤波 matlab,高斯混合概率假设密度滤波器
- python字符串切割:str.split()和re.split()对比
- 学习Nutch不错的系列文章
- CompSNN: A Lightweight Spiking Neural Network Based on Spatiotemporally Compressive Spike Features
- java在数组中放入随机数_如何在Java中随机播放数组
- Springsecurity之UserDetails
- optparse命令解析模块
- sqlmap安装历程
- 腾讯信鸽推送基本流程和数据的处理流程
- windows进行udp端口转发
- kvm的乾坤大挪移-虚拟机迁移
- 集成学习方法之Bagging,Boosting,Stacking
- IT-RS-IPV6-EUI-64
- arm我的世界linux,Minecraft (简体中文)