注册 登录
编程论坛 ASP.NET技术论坛

字符串加密,解密一例-->hmhz转移

tml327 发布于 2007-11-09 01:22, 564 次点击
.net 里面提供了丰富的加密解密东东,这里只不过用了一个。

public class StringDEProvider
{
#region 内部字段

private SymmetricAlgorithm mCSP;

/// <summary>
/// 密钥|注:必须长度12
/// </summary>
private const string CIV = "MoLiQingCha=";
/// <summary>
/// 初始化向量|注:必须长度12
/// </summary>
private const string CKEY = "Xingmai0216=";

#endregion

#region 实例构造函数

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

#endregion

#region 实例方法

/// <summary>
/// 加密字符串
/// </summary>
/// <param name="Value"></param>
/// <returns></returns>
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());
}


/// <summary>
/// 解密字符串
/// </summary>
/// <param name="Value"></param>
/// <returns></returns>
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());
}

#endregion
}

做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
0 回复
1