C#加密解密
2014-05-07 14:05
204 查看
public class EnryptClass { //加密算法 /// <summary> /// 进行DES加密。 /// </summary> /// <param name="pToEncrypt">要加密的字符串。</param> /// <param name="sKey">密钥,且必须为8位。</param> /// <returns>以Base64格式返回的加密字符串。</returns> public string Encrypt(string pToEncrypt, string sKey) { using (DESCryptoServiceProvider des = new DESCryptoServiceProvider()) { byte[] inputByteArray = Encoding.UTF8.GetBytes(pToEncrypt); des.Key = ASCIIEncoding.ASCII.GetBytes(sKey); des.IV = ASCIIEncoding.ASCII.GetBytes(sKey); System.IO.MemoryStream ms = new System.IO.MemoryStream(); using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write)) { cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); cs.Close(); } string str = Convert.ToBase64String(ms.ToArray()); ms.Close(); return str; } } /**/ /// <summary> /// 进行DES解密。 /// </summary> /// <param name="pToDecrypt">要解密的以Base64</param> /// <param name="sKey">密钥,且必须为8位。</param> /// <returns>已解密的字符串。</returns> public string Decrypt(string pToDecrypt, string sKey) { byte[] inputByteArray = Convert.FromBase64String(pToDecrypt); using (DESCryptoServiceProvider des = new DESCryptoServiceProvider()) { des.Key = ASCIIEncoding.ASCII.GetBytes(sKey); des.IV = ASCIIEncoding.ASCII.GetBytes(sKey); System.IO.MemoryStream ms = new System.IO.MemoryStream(); using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write)) { cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); cs.Close(); } string str = Encoding.UTF8.GetString(ms.ToArray()); ms.Close(); return str; } } }
相关文章推荐
- C#:TextBox控件操作类
- C#:列表视图操作类
- C#:DataGridView控件操作
- C#:复选框操作类
- C#:ZedGraph画图控件(待补充)
- C#读取Xml文件
- 关于C#中的API的定义
- C#扩展一个现有的类
- C# 6.0 功能预览 (二)
- C#利用正则表达式实现字符串搜索---ShinePans
- 一些常见的C#类
- 编写高质量代码改善C#程序的157个建议[匿名类型、Lambda、延迟求值和主动求值]
- C# GridView 中DataKeyNames 存储数据键值(转)
- C#中获取当前周的日期范围
- C#钩子类 几乎捕获键盘鼠标所有事件
- C#调用webservers实现天气预报
- [C#、winform] FormDesigner.cs报错The variable 'xxxxxx' is either undeclared or was never assigned
- c#的扩展方法
- C#调用R语言输出图片
- 用C#调用Windows API向指定窗口发送按键消息 z