/// 对数据进行加密
/// </summary>
/// <param name="encryptstring">需要加密的数据</param>
/// <returns></returns>
public string DESEncrypt(string encryptstring)
{
string strRtn;
try
{
DESCryptoServiceProvider desc = new DESCryptoServiceProvider(); //des进行加密
PasswordDeriveBytes encryptkey = new PasswordDeriveBytes(encryptstring, null);//产生key
byte[] key = encryptkey.GetBytes(8);
byte[] data = System.Text.Encoding.Unicode.GetBytes(encryptstring);//取到密码的字节流
MemoryStream ms = new MemoryStream(); //用来存储加密后的数据
CryptoStream cs = new CryptoStream(ms, desc.CreateEncryptor(key, key), CryptoStreamMode.Write); //进行加密
cs.Write(data,0,data.Length );
cs.FlushFinalBlock(); //用缓冲区的当前状态更新基础数据源或存储库,随后清除缓冲区
strRtn = Convert.ToBase64String(ms.ToArray()); //将整个流内容写入字节数组,转换到字符串返回
return strRtn;
}
catch (Exception ex)
{
//弹出捕获的异常信息
MessageBox.Show("错误:"+ex.Message ,"错误消息提示框",MessageBoxButtons.OKCancel,MessageBoxIcon.Error );
return null ;
}
}
/// <summary>
/// 对数据进行解密
/// </summary>
/// <param name="decryptstring">需要解密的数据</param>
/// <returns></returns>
public string DESDecrypt(string decryptstring)
{
string strRtn;
try
{
//定义访问数据加密标准(DES)算法的加密服务提供程序(CSP)版本的包装对象
DESCryptoServiceProvider desc = new DESCryptoServiceProvider();
PasswordDeriveBytes encryptkey = new PasswordDeriveBytes(decryptstring, null);//产生key
byte[] key = encryptkey.GetBytes(8);
byte[] data = Convert.FromBase64String(decryptstring);
MemoryStream ms = new MemoryStream(); //用来存储解密后的数据
CryptoStream cs = new CryptoStream(ms, desc.CreateEncryptor(key, key), CryptoStreamMode.Write);
cs.Write(data, 0, data.Length); //进行解密
cs.FlushFinalBlock(); //用缓冲区的当前状态更新基础数据源或存储库,随后清除缓冲区
strRtn = System.Text.Encoding.Unicode.GetString(ms.ToArray()); //将整个流内容写入字节数组
return strRtn;
}
catch (Exception ex)
{
//弹出捕获的异常信息
MessageBox.Show("错误:" + ex.Message, "错误消息提示框", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
![DESC加密解密 md5加密解密](http://img.aihuau.com/images/31101031/31012731t01984c2fdad9d20ff9.jpg)
return null;
}
}