C# AES 加解密处理
引言
这是一个有关AES加解密的方法类
一、设置AES加解密密钥:下面列出自己分配的三类密钥
private const string UserKey = "roshan-2015-user"; //加密用户名和密码
private static readonly byte[] UserIv = { , , 0xF, , , 0xC, , 0xB, , 0x5B, 0xD, 0x17, , 0xA, , }; private const string ServerAuthTokenKey = "roshan2015server"; //加密服务端AuthToken
private static readonly byte[] ServerAuthTokenIv = { 0xC, , 0xB, , 0x5B, 0xD, , , 0xF, , , 0x17, , 0xA, , }; private const string ClientAuthTokenKey = "roshan2015client";//加密客户端AuthToken
private static readonly byte[] ClientAuthTokenIv = { 0x38, 0x31, 0x37, 0x34, 0x36, 0x33, 0x35, 0x33, 0x32, 0x31, 0x34, 0x38, 0x37, 0x36, 0x35, 0x32 };
密钥设置
二、填充方法:这里个人采用默认的填充方法
Mode:CBC
Padding:PKCS7
三、配置加解密方法
/// <summary>
/// 加密
/// </summary>
/// <param name="toEncrypt">明文</param>
/// <param name="key">秘钥</param>
/// <param name="ivBytes">向量</param>
/// <returns>密文</returns>
public static string AESEncrypt(string toEncrypt, string key, byte[] ivBytes)
{
byte[] toEncryptBytes = System.Text.Encoding.UTF8.GetBytes(toEncrypt);
var rijndael = new RijndaelManaged();
rijndael.Key = System.Text.Encoding.UTF8.GetBytes(key);
rijndael.IV = ivBytes;
ICryptoTransform cryptoTransform = rijndael.CreateDecryptor();
byte[] resultBytes = cryptoTransform.TransformFinalBlock(toEncryptBytes, , toEncryptBytes.Length);
return Convert.ToBase64String(resultBytes);
}
加密方法
/// <summary>
/// 解密
/// </summary>
/// <param name="toDecrypt">密文</param>
/// <param name="key">秘钥</param>
/// <param name="ivBytes">向量</param>
/// <returns>明文</returns>
private static string AESDecrypt(string toDecrypt, string key, byte[] ivBytes)
{
byte[] toDecryptBytes = Convert.FromBase64String(toDecrypt);
var rijndael = new RijndaelManaged();
rijndael.Key = System.Text.Encoding.UTF8.GetBytes(key);
rijndael.IV = ivBytes;
ICryptoTransform cryptoTransform = rijndael.CreateDecryptor();
byte[] resultArray = cryptoTransform.TransformFinalBlock(toDecryptBytes, , toDecryptBytes.Length);
return System.Text.Encoding.UTF8.GetString(resultArray);
}
解密方法
C# AES 加解密处理的更多相关文章
- DES,AeS加解密,MD5,SHA加密
1.DES一共就有4个参数参与运作:明文.密文.密钥.向量.其中这4者的关系可以理解为: 密文=明文+密钥+向量: 明文=密文-密钥-向量: 为什么要向量这个参数呢?因为如果有一篇文章,有几个词重复, ...
- c# Aes加解密和对象序列化
aes加解密 public class AesCryptto { private string key = "hjyf57468jhmuist"; private string i ...
- Java、C#双语版配套AES加解密示例
这年头找个正经能用的东西那是真难,网上一搜索一大堆,正经能用的没几个,得,最后还是得靠自己,正巧遇上需要AES加解密的地方了,而且还是Java和C#间的相互加解密操作,这里做个备忘 这里采用的加解 ...
- AES加解密算法Qt实现
[声明] (1) 本文源码 在一位未署名网友源码基础上,利用Qt编程,实现了AES加解密算法,并添加了文件加解密功能.在此表示感谢!该源码仅供学习交流,请勿用于商业目的. (2) 图片及描述 除图1外 ...
- aes加解密 Illegal key size
做aes加密时,发生一个奇怪的错误,在本地环境是好的,发布到测试环境就出问题, java.security.InvalidKeyException: Illegal key size 想到本地环境之前 ...
- C# RSA加解密与验签,AES加解密,以及与JAVA平台的密文加解密
前言: RSA算法是利用公钥与密钥对数据进行加密验证的一种算法.一般是拿私钥对数据进行签名,公钥发给友商,将数据及签名一同发给友商,友商利用公钥对签名进行验证.也可以使用公钥对数据加密,然后用私钥对数 ...
- Aes加解密,php
Aes类库 <?php namespace Aes; class Aes { /** * var string $method 加解密方法,可通过openssl_get_cipher_metho ...
- cryptoJS AES 加解密简单使用
简单记录一下,前端利用 cryptoJS 如何加解密的.主要是关于 AES 加解密. 需求描述:需要对 url 中的参数进行 AES 解密,然后再把该参数进行 MD5 加密通过接口传递. AES AE ...
- AES加解密程序的实现
AES加解密程序的实现正常情况,用户不能访问sys.dbms_crypto,需要DBA授权:grant execute on dbms_crypto to crm;建立加解密的PKG_AES包:CRE ...
- 收银台数据库存储AES加解密
高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法加密和解密用到的密钥是相同的,这种加密方式加密速度非常快,适合经常发送数据的场合.缺点是密钥的传输 ...
随机推荐
- 【摘录】JAVA内存管理-评估垃圾收集性能的工具
第七章 评估垃圾收集性能的工具 各种各样的诊断和监视工具可以用来评估垃圾收集性能.本章简要概述他们中的几个.可以通过第九章中的“Tools and Troubleshooting”链接获得更多的信息. ...
- BZOJ 2806 [Ctsc2012]Cheat (后缀自动机+二分+单调队列+dp)
题目大意: 给你一堆模式串和文本串 对于每个文本串,我们可以把它不可重叠地拆分成很多子串,如果拆分出的串作为子串出现在了任何一个模式串中,我们称它是“眼熟的”,我们必须保证“眼熟的”子串总长度不小于文 ...
- [luogu] P3745 [六省联考2017]期末考试 (贪心)
P3745 [六省联考2017]期末考试 题目描述 有 \(n\) 位同学,每位同学都参加了全部的 \(m\) 门课程的期末考试,都在焦急的等待成绩的公布. 第 \(i\) 位同学希望在第 \(t_i ...
- javaScript 通过flie API读取本地文件
File API是HTML5新增内容,依靠file和FileReader,这两个对象完成,代码如下: var fileInput = document.getElementById('test-ima ...
- php获取时间是星期几
PHP星期几获取代码: date("l"); //data就可以获取英文的星期比如Sundaydate("w"); //这个可以获取数字星期比如123,注意0是 ...
- Maven系列--web.xml 配置详解
一 .web.xml介绍 启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 紧接着,容 ...
- ASP.NET-Microsoft.Management.Infrastructure错误
错误如图所示,将MVC发布到IIS上就会出现这个错误,我用到了NPOI这个EXCEL插件,不知道是不是这个造成的,但是实在找不到解决方案,就直接将BIN目录下的这个Microsoft.Manageme ...
- SQL SERVER-数据库的远程访问解决办法
除了下面的这个RemoteDacEnabled更改为true之后,还要把防火墙关闭,才能通过IP地址访问数据库 来自为知笔记(Wiz)
- HDU 1521
指数型生成函数.做这题时,回去看看组合数学才知道,指数生成函数求的就是多重集合的r排列数. #include <iostream> #include <cstdio> #inc ...
- 纯粹的K12精髓 - 名师指导整理《20以内加法口诀表》
纯粹的K12精髓 - 名师指导整理<20以内加法口诀表> 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一 ...