DES加密/解密程序.

wlxc_zj 2006-01-10 07:56:27
//获取或设置对称算法的初始化向量
private static byte[] DESIV = new byte[] {75, 158, 46, 97, 78, 57, 17, 36};

//加密函数:

public static string Encode(string Encode_String)
{

DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
MemoryStream objMemoryStream = new MemoryStream();
//用指定的 Key 和初始化向量 (IV) 创建对称数据加密标准 (DES) 加密器对象
CryptoStream objCryptoStream = new CryptoStream(objMemoryStream,objDES.CreateEncryptor(DESKey,DESIV),CryptoStreamMode.Write);
StreamWriter objStreamWriter = new StreamWriter(objCryptoStream);
objStreamWriter.Write(Encode_String);
objStreamWriter.Flush();
objCryptoStream.FlushFinalBlock();
objMemoryStream.Flush();
return Convert.ToBase64String(objMemoryStream.GetBuffer(), 0, (int)objMemoryStream.Length);
}

//解密函数
public static string Decode(string Encode_String)
{
DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
byte[] Input = Convert.FromBase64String(Encode_String);
MemoryStream objMemoryStream = new MemoryStream(Input);
//用指定的 Key 和初始化向量 (IV) 创建对称数据加密标准 (DES) 解密器对象
CryptoStream objCryptoStream = new CryptoStream(objMemoryStream,objDES.CreateDecryptor(DESKey,DESIV),CryptoStreamMode.Read);
StreamReader objStreamReader = new StreamReader(objCryptoStream);
return objStreamReader.ReadToEnd();
}

private void button1_Click_1(object sender, System.EventArgs e)
{
//加密
try
{
string temp = textBox1.Text ;
textBox2.Text = Encode(temp);
}
catch(System.Exception ee)
{
MessageBox.Show(ee.Message);
}

}

private void button2_Click(object sender, System.EventArgs e)
{
//解密
textBox3.Text=Decode(textBox2.Text);
}

此效果图演示请访问http://www.zhangjian.net获取更多的经典例子.
...全文
146 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧