數(shù)據(jù)加密中的DES加密算法詳解
[0].ToCharArray());本文引用地址:http://2s4d.com/article/202130.htm
// 方式一:調(diào)用默認(rèn)的DES實(shí)現(xiàn)方法
DES des = DES.Create();
// 方式二:直接使用DES_CSP()實(shí)現(xiàn)DES的實(shí)體
//DES_CSP DES = new DES_CSP();
// 初始化DES加密的密鑰和一個(gè)隨機(jī)的、8比特的初始化向量(IV)
Byte[] key = {0x01, 0x23, 0x45, 0x67, 0x89, 0xab,
0xcd, 0xef};
Byte[] IV = {0x12, 0x34, 0x56, 0x78, 0x90, 0xab,
0xcd, 0xef};
des.Key = key;
des.IV = IV;
// 建立加密流
SymmetricStreamEncryptor sse = des.CreateEncryptor();
// 使用CryptoMemoryStream方法獲取加密過程的輸出
CryptoMemoryStream cms = new CryptoMemoryStream();
// 將SymmetricStreamEncryptor流中的加密數(shù)據(jù)輸出到
CryptoMemoryStream中
sse.SetSink(cms);
// 加密完畢,將結(jié)果輸出到控制臺(tái)
sse.Write(inputByteArray);
sse.CloseStream();
// 獲取加密數(shù)據(jù)
byte[] encryptedData = cms.Data;
// 輸出加密后結(jié)果
Console.WriteLine(加密結(jié)果:);
for (int i = 0; i encryptedData.Length; i++) {
Console.Write({0:X2} ,encryptedData[i]);
}
Console.WriteLine();
//上面演示了如何進(jìn)行加密,下面演示如何進(jìn)行解密
SymmetricStreamDecryptor ssd = des.CreateDecryptor();
cms = new CryptoMemoryStream();
ssd.SetSink(cms);
ssd.Write(encryptedData);
ssd.CloseStream();
byte[] decryptedData = cms.Data;
char[] decryptedCharArray = utf8Encoding.GetChars(decryptedData);
Console.WriteLine(解密后數(shù)據(jù):);
Console.Write(decryptedCharArray);
Console.WriteLine(); }
}
編譯:
D:“csharpcsc des_demo.cs
Microsoft (R) C# Compiler Version 7.00.8905 [NGWS runtime
2000.14.1812.10]
Copyright (C) Microsoft Corp 2000. All rights reserved.
運(yùn)行實(shí)例:
D:“csharpdes_demo.exe 使用C#編寫DES加密程序的framework
加密結(jié)果:
3D 22 64 C6 57 D1 C4 C3 CF 77 CE 2F D0 E1 78 2A 4D ED 7A A8
83 F9 0E 14 E1 BA 38
7B 06 41 8D B5 E9 3F 00 0D C3 28 D1 F9 6D 17 4B 6E A7 41 68
40
解密后數(shù)據(jù)
使用C#編寫DES加密程序的
DES算法具有極高的安全性,到目前為止,除了用窮舉搜索法對(duì)DES算法進(jìn)行攻擊外,還沒有發(fā)現(xiàn)更有效的辦法。通過窮盡搜索空間,可獲得總共256(大約7.2×1016)個(gè)可能的密鑰。如果每秒能檢測一百萬個(gè)的話,需要2000年完成檢測??梢?這是很難實(shí)現(xiàn)的。當(dāng)然,隨著科學(xué)技術(shù)的發(fā)展,當(dāng)出現(xiàn)超高速計(jì)算機(jī)后,可以考慮把DES密鑰的長度再增長一些,以此來達(dá)到更高的保密程度。隨著信息化和數(shù)字化社會(huì)的發(fā)展,隨著計(jì)算機(jī)和Inte rnet的普及,密碼學(xué)必將在國家安全、經(jīng)濟(jì)交流、網(wǎng)絡(luò)安全及人民生活等方面發(fā)揮更大作用。
參考文獻(xiàn)
[1]葉忠杰:計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)(第二版).科學(xué)出版社
王寶會(huì)王大印等:新世紀(jì)計(jì)算機(jī)信息安全教程.電子工業(yè)出版社
張基溫:信息系統(tǒng)安全原理.中國水利水電出版社
顧巧論蔡振山賈春福:計(jì)算機(jī)網(wǎng)絡(luò)安全.科學(xué)出版社
評(píng)論