当前位置:有风信息港IT学院编程技术.net → 一个简单实用的字符串加密解密类

一个简单实用的字符串加密解密类

减小字体 增大字体 作者:有风IT学院  来源:有风信息港  发布时间:2008-1-13 8:54:46
下面是我根据"Microsoft .NET 中的简化加密"一文,提炼出的一个简单实用的加密解密类

#region 文件说明
/ ***************************************************************************
* * 文件名:PageBase.cs
* * 创建人:孙振芳
* * 日 期:2004-07-27
* * 描 述:本类完成对字符串的加密和解密操作。
* *
* * 修改人:
* * 日 期:
* * 描 述:
* *
* * 版 本:1.0.0
*************************************************************************** */
#endregion
using System;
using System.Security.Cryptography;
using System.IO;
using System.Text;

namespace SDSPNDSC.Common
{
///
/// 通过DES对称加密算法,完成对字符串的加密和解密操作。
///

public class Encrypt
{
private SymmetricAlgorithm mCSP;
private const string CIV ="kXwL7X2+fgM=";//密钥
private const string CKEY ="FwGQWRRgKCI=";//初始化向量

public Encrypt()
{
mCSP = new DESCryptoServiceProvider();
}

public string EncryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;

ct = mCSP.CreateEncryptor(Convert.FromBase64String(CKEY), Convert.FromBase64String(CIV));

byt = Encoding.UTF8.GetBytes(Value);

ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();

cs.Close();

return Convert.ToBase64String(ms.ToArray());
}

public string DecryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;

ct = mCSP.CreateDecryptor(Convert.FromBase64String(CKEY), Convert.FromBase64String(CIV));

byt = Convert.FromBase64String(Value);

ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();

cs.Close();

return Encoding.UTF8.GetString(ms.ToArray());
}

}
}