知识大全 C# 对称算法,加密解密类
Posted 知
篇首语:幽沉谢世事,俯默窥唐虞。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C# 对称算法,加密解密类相关的知识,希望对你有一定的参考价值。
C# 对称算法,加密解密类 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
模块编号 包含 作者 审核 编写日期 描述 提供对称加密 摘要算法
如果模块有修改 则每次修改添加以下注释 Log编号 修改作者 修改日期 修改描述
using System Text; using System IO; using System; using System Text RegularExpressions; using System Security Cryptography;
namespace LHCHIP Common /**//// <summary> /// 对称加密算法类 /// </summary> public class DecryptEncrypt /**//// <summary> /// 返回自身的一个类 /// </summary> public static DecryptEncrypt MyDecryptEncrypt get return new DecryptEncrypt();
private SymmetricAlgorithm mobjCryptoService; private string Key;
/**//// <summary> /// 对称加密类的构造函数 /// </summary> internal DecryptEncrypt() mobjCryptoService = new RijndaelManaged(); Key = rrp(%&h x H$jgsfgfsI Ftma &fvHrr&& *h%( lJ$lhj!y &(*jkPer a ;
/**//// <summary> /// 获得密钥 /// </summary> /// <returns>密钥</returns> private byte[] GetLegalKey() string _TempKey = Key; mobjCryptoService GenerateKey(); byte[] bytTemp = mobjCryptoService Key; int KeyLength = bytTemp Length; if (_TempKey Length > KeyLength) _TempKey = _TempKey Substring( KeyLength); else if (_TempKey Length < KeyLength) _TempKey = _TempKey PadRight(KeyLength ); return ASCIIEncoding ASCII GetBytes(_TempKey); /**//// <summary> /// 获得初始向量IV /// </summary> /// <returns>初试向量IV</returns> private byte[] GetLegalIV() string _TempIV = @afetj*Ghg !rNIfsgr GUqd gsrb#GG HBh(urjj HJ($jhWk &!hjjri%$hjk ; mobjCryptoService GenerateIV(); byte[] bytTemp = mobjCryptoService IV; int IVLength = bytTemp Length; if (_TempIV Length > IVLength) _TempIV = _TempIV Substring( IVLength); else if (_TempIV Length < IVLength) _TempIV = _TempIV PadRight(IVLength ); return ASCIIEncoding ASCII GetBytes(_TempIV);
/**//// <summary> /// 加密方法 /// </summary> /// <param name= Source >待加密的串</param> /// <returns>经过加密的串</returns> public string Encrypto(string Source) byte[] bytIn = UTF Encoding UTF GetBytes(Source); MemoryStream ms = new MemoryStream(); mobjCryptoService Key = GetLegalKey(); mobjCryptoService IV = GetLegalIV(); //创建对称加密器对象 ICryptoTransform encrypto = mobjCryptoService CreateEncryptor(); //定义将数据流链接到加密转换的流 CryptoStream cs = new CryptoStream(ms encrypto CryptoStreamMode Write); cs Write(bytIn bytIn Length); cs FlushFinalBlock(); ms Close(); byte[] bytOut = ms ToArray(); return Convert ToBase String(bytOut);
/**//// <summary> /// 解密方法 /// </summary> /// <param name= Source >待解密的串</param> /// <returns>经过解密的串</returns> public string Decrypto(string Source) byte[] bytIn = Convert FromBase String(Source); MemoryStream ms = new MemoryStream(bytIn bytIn Length); mobjCryptoService Key = GetLegalKey(); mobjCryptoService IV = GetLegalIV(); //创建对称解密器对象 ICryptoTransform encrypto = mobjCryptoService CreateDecryptor(); //定义将数据流链接到加密转换的流 CryptoStream cs = new CryptoStream(ms encrypto CryptoStreamMode Read); StreamReader sr = new StreamReader(cs); return sr ReadToEnd();
cha138/Article/program/net/201311/11770相关参考
用C#的类实现数据结构的堆栈算法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! usingSys
JAVA里面RSA加密算法的使用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 打算写这个类用于
使用ASP加密算法加密你的数据 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 简介 首先简
.NET中的DES对称加密 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! DES是一种对称加密(
java中使用MD5加密算法进行加密 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在各种应用系
AES对称加密例子 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 什么是AES AES是一种对
Oracle数据库替代加密算法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 替代密码算法的原理
.NET对称加密实践(新手教程) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在使用NET框架
使用DES对称加密代码,支持中文 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!//名称空间usin
VB.NET关于加密算法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前几天由于需要去研究了一