C#如何实现DES加密算法
的有关信息介绍如下:密码学是一门高深而又复杂的理论学科,在软件开发中经常会用到一些简单的加密、解密算法,以保证一些关键字符串、值等地安全性。常用的加密算法分为对称加密和非对称加密,对于一般程序员来说,不必了解深层次的原理,懂得运用就行,今天就由笔者来个大家介绍des加密算法的实现。
打开vs2010,建立一个项目,名称随意。
如图,笔者建立了一个简单的WinForm项目,名称为:DES加密。
新建一个类,具体步骤为:
在【解决方案资源管理器】窗口中右键项目名,依次选择“添加”→“类”,如图所示。
类名为:EncryptDES.cs,点击添加。
在类文件中添加如下代码:读者只需复制即可
///
/// DES加密字符串
///
/// 待加密的字符串
/// 加密密钥,要求为8位
///
public static string strEncryptDES(string encryptString, string encryptKey)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
//rgbIV与rgbKey可以不一样,这里只是为了简便,读者可以自行修改
byte[] rgbIV = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());
}
catch
{
return encryptString;
}
}
这里要用到三个类:
1.DESCryptoServiceProvider类:在最上方添加“using System.Security.Cryptography;”即可。
2.MemoryStream类:在最上方添加“using System.IO;”即可。
3.CryptoStream类:与2相同,在最上方添加“using System.IO;”即可。
到这里算是实现了C#中的DES加密算法,下面是对算法的测试,您可以跳过不看。
回到窗口界面,添加一个按钮,如图。
双击该按钮,进入代码编辑界面,添加如下代码,如图。
string en = "C#如何实现DES加密算法";
string result = EncryptDES.strEncryptDES(en, "hello,I am bianyuanhuanghun");
MessageBox.Show(result);
运行程序,点击按钮,出现加密后的字符串,如图,测试结束。
如果此文章对您有所帮助,请关注本人并收藏此文章。谢谢您的支持!(任何疑问,欢迎留言!)