1、打开vs2010,建立一个项目,名称随意。如图,笔者建立了一个简单的WinForm项目,名称为:DES加密。
2、新建一个类,具体步骤为:在【解决方案资源管理器】窗口中右键项目名,依次选择“添加”→“类”,如图所示。类名为:EncryptDES.cs,点击添加。
3、在类文件中添加如下代码:读者只需复制即可 /// <summary> /// DES加密字符串 /// </summary> /// <param name="encryptString">待加密的字符串</param> /// <param name="encryptKey">加密密钥,要求为8位</param> /// <returns>加密成功返回加密后的字符串,失败返回源串</returns> 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;”即可。
4、到这里算是实现了C#中的DES加密算法,下面是对算法的测试,您可以跳过不看。回到窗口界面,添加一个按钮,如图。
5、双击该按钮,进入代码编辑界面,添加如下代码,如图。string en = "C#如何实现DES加密算法";stri荏鱿胫协ng result = EncryptDES.strEncryptDES(en, "hello,I am bianyuanhuanghun");MessageBox.Show(result);
6、运行程序,点击按钮,出现加密后的字符串,如图,测试结束。