AES加密 AESCrypt 类
/// <summary>
/// AES加密
/// </summary>
public sealed class AESCrypt
{
/// <summary>
/// 加密
/// </summary>
/// <param name="i_Context"></param>
/// <returns></returns>
static public string Encode(string text)
{
byte[] key = new byte[] { , , , , , , , , , , , , , , , };
byte[] iv = new byte[] { , , , , , , , , , , , , , , , };
try
{
RijndaelManaged rijn = new RijndaelManaged();
ICryptoTransform trans = rijn.CreateEncryptor(key, iv);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, trans, CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(cs);
try
{
sw.Write(text);
sw.Flush();
}
finally
{
sw.Close();
}
byte[] _text = ms.GetBuffer();
int k = ;
for (k = _text.Length - ; k >= ; k--)
{
if (_text[k] != )
{
break;
}
}
int len = k + ;
if (len % != )
{//必须保证取的长度为偶数
len += ;
}
return Convert.ToBase64String(ms.GetBuffer(), , len);
}
catch
{
return string.Empty;
}
} /// <summary>
/// 解密
/// </summary>
/// <param name="i_Context"></param>
/// <returns></returns>
static public string Decode(string text)
{
byte[] key = new byte[] { , , , , , , , , , , , , , , , };
byte[] iv = new byte[] { , , , , , , , , , , , , , , , };
try
{
RijndaelManaged rijn = new RijndaelManaged();
ICryptoTransform trans = rijn.CreateDecryptor(key, iv);
byte[] data = Convert.FromBase64String(text);
MemoryStream ms = new MemoryStream(data);
CryptoStream cs = new CryptoStream(ms, trans, CryptoStreamMode.Read);
StreamReader sr = new StreamReader(cs);
string r_data = string.Empty;
try
{
r_data = sr.ReadToEnd();
}
finally
{
sr.Close();
}
return r_data;
}
catch (Exception ex)
{
return string.Empty;
}
} } /// <summary>
/// SHA1摘要
/// </summary>
public sealed class SHA1Crypt
{
/// <summary>
/// Base64编码
/// </summary>
/// <param name="i_Content"></param>
/// <returns></returns>
static public string MakeCode(string text)
{
UTF8Encoding utf8 = new UTF8Encoding();
SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
byte[] cb = utf8.GetBytes(text);
byte[] sb = sha1.ComputeHash(cb);
return Convert.ToBase64String(sb);
}
} /// <summary>
/// MD5摘要
/// </summary>
public sealed class MD5Crypt
{
/// <summary>
/// 32位编码
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
public string MakeCode(string text)
{
byte[] _bytes = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(text));
StringBuilder _result = new StringBuilder();
for (int i = ; i < _bytes.Length; i++)
{
string _hex = _bytes[i].ToString("x");
if (_hex.Length == )
{
_result.Append("");
}
_result.Append(_hex);
}
return _result.ToString();
}
}
AES加密 AESCrypt 类的更多相关文章
- Java AES 加密工具类
package com.microwisdom.utils; import java.security.NoSuchAlgorithmException; import java.security.S ...
- Android AES加密工具类实现(基础回顾)
package com.powercreator.cms.util; import java.security.SecureRandom; import javax.crypto.Cipher; im ...
- AES 加密工具类
/** * AES 是一种可逆加密算法,对用户的敏感信息加密处理 对原始数据进行AES加密后,在进行Base64编码转化: */public class AESOperator { /* * 加密用的 ...
- AES加密工具类(对称加密算法)
import java.nio.charset.Charset; import java.security.Key; import javax.crypto.Cipher;import javax.c ...
- AES加密解密工具类封装(AESUtil)
package club.codeapes.common.utils; import org.springframework.util.Base64Utils; import javax.crypto ...
- Jmeter参数的AES加密使用
在Jmeter日常实践中,大家应该都遇到过接口传参需要加密的情况.以登陆为例,用户名和密码一般都需要进行加密传输,在服务端再进行解密,这样安全系数会更高,但在使用jmeter进行接口测试的时候,怎样发 ...
- 使用AES加密的帮助类
在开发中经常使用加密/解密对一些内容进行处理,比如密码在存入数据库之前先经过加密处理等等,这里就把一个加密帮助类代码贴出来,供以后查找使用. 这个帮助类主要功能是对字符串和字节数组进行加密解密处理. ...
- PHP的AES加密类
PHP的AES加密类 aes.php <?php /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ...
- AES加密解密 助手类 CBC加密模式
"; string result1 = AESHelper.AesEncrypt(str); string result2 = AESHelper.AesDecrypt(result1); ...
随机推荐
- saas服务提供商
这段时间接触了不少行业的东西,这里谈几点肤浅的看法.从市场行情上讲,SaaS风口还在,不过热度明显向大数据.物联网.人工智能.区块链等转移. 做得比较好的有这些SaaS提供商,每个领域的都有那么几家的 ...
- Mvn+Jetty启动项目
这里要注意,Mvn加jetty启动项目,主要用到的是Maven的jetty插件,和你下的Jetty服务器没什么关系. 我的运行环境是jdk1.7,Eclipse-mars,Maven是Eclipse自 ...
- 加载Firefox 和 chrome 浏览器配置
Firefox: Chrome:
- HTML注册页面验证注册信息
在这里主要介绍两种验证方式,一种是点击注册按钮后会提示最上方的出错位置,弹出窗口提示格式不对.另一种是利用鼠标事件,在鼠标进行不同操作时会有不同的click事件. 这两种都是利用javascript, ...
- 第2章 深入分析java I/O的工作机制(上)
java的I/O操作类在包java.io下,大致分成4组: 所有文件的存储都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再存储这些字节到磁盘.在读取文件时,也是一个 ...
- springboot成神之——Scheduler定时任务
本文介绍spring的Scheduler定时任务 目录结构 config scheduler @Scheduled配置参数 本文介绍spring的Scheduler定时任务 目录结构 config / ...
- springboot成神之——ioc容器(依赖注入)
springboot成神之--ioc容器(依赖注入) spring的ioc功能 文件目录结构 lang Chinese English GreetingService MyRepository MyC ...
- selenium - 驱动 chromedriver 初始化问题总结
ChromeDriver切换浏览器语言 ChromeOptions options = new ChromeOptions(); options.addArguments("--lang=& ...
- 用python40行代码编写的计算器
效果图 代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...
- keil的使用:新建Project
新建项目--->新建文件夹----->把新建的项目放在自己的文件夹中------>选择开发板------>添加开发板的驱动文件---->main函数 项目分组基本如图,S ...