您的位置首页生活百科

C#如何实现DES加密算法

C#如何实现DES加密算法

的有关信息介绍如下:

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);

运行程序,点击按钮,出现加密后的字符串,如图,测试结束。

如果此文章对您有所帮助,请关注本人并收藏此文章。谢谢您的支持!(任何疑问,欢迎留言!)