[摘要] 信息的安全性一直是電子商務(wù)應(yīng)用中的首要問(wèn)題,本文基于VB實(shí)現(xiàn)的密碼技術(shù)能對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單的加密與解密,首先介紹了VB中的簡(jiǎn)易數(shù)據(jù)加解密算法的一般原理;然后在VB窗體中對(duì)此算法實(shí)現(xiàn)的界面進(jìn)行詳細(xì)設(shè)計(jì);最后是關(guān)于本算法的代碼實(shí)現(xiàn)及展望。簡(jiǎn)單易學(xué)的算法在數(shù)據(jù)加解密上的實(shí)現(xiàn),讓用戶(hù)體驗(yàn)了VB編程能力在電子商務(wù)數(shù)據(jù)安全性方面的快速應(yīng)用。
[關(guān)健詞] 加解密 電子商務(wù) VB
網(wǎng)上購(gòu)物等電子商務(wù)活動(dòng)在今天已十分普及與方便,雖然隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,各種安全機(jī)制、策略和工具不斷被研究和應(yīng)用,但I(xiàn)nternet的開(kāi)放性,以及其他方面因素導(dǎo)致網(wǎng)絡(luò)環(huán)境下的計(jì)算機(jī)系統(tǒng)仍存在很多安全問(wèn)題。電子商務(wù)中的信息安全始終是一個(gè)核心問(wèn)題,因此,在客觀上需要一種強(qiáng)有力的安全措施來(lái)保護(hù)機(jī)密數(shù)據(jù)。密碼技術(shù)是保護(hù)網(wǎng)絡(luò)安全最有效的技術(shù)之一,采取了加密保護(hù)措施的網(wǎng)絡(luò),可以防止非授權(quán)用戶(hù)的竊聽(tīng)和非法入網(wǎng),而且也是對(duì)付惡意軟件的有效方法之一。
一、簡(jiǎn)易數(shù)據(jù)加解密算法
加密是通過(guò)對(duì)信息的重新組合,使得只有收發(fā)雙方才能解碼并還原信息的一種手段,這種手段的原理及應(yīng)用是本論文研究的重點(diǎn),基于VB實(shí)現(xiàn)DES和RSA等一般的加解密算法過(guò)于復(fù)雜,且運(yùn)算速度慢,特別是它的移位操作,因此,研究簡(jiǎn)易數(shù)據(jù)加解密算法在電子商務(wù)數(shù)據(jù)保密方面具有相當(dāng)?shù)默F(xiàn)實(shí)意義。從加密的主要方法看,換位法過(guò)于簡(jiǎn)單,特別是對(duì)于數(shù)據(jù)量少的情況很容易由密文猜出明文,則簡(jiǎn)易加解密算法采用替換法對(duì)數(shù)據(jù)進(jìn)行快速加密,而且加密后的數(shù)據(jù)能正確地得到解密,當(dāng)然關(guān)鍵是像VB這樣的高級(jí)語(yǔ)言能容易實(shí)現(xiàn)。
從各種位運(yùn)算的特點(diǎn)看,異或運(yùn)算最適合用于簡(jiǎn)易加解密運(yùn)算,因?yàn)楫?dāng)數(shù)1和數(shù)2進(jìn)行異或運(yùn)算生成數(shù)3,若再將數(shù)3和數(shù)2進(jìn)行異或運(yùn)算則又會(huì)還原為數(shù)1。例如將234和124進(jìn)行異或運(yùn)算的結(jié)果是150,再將150和124進(jìn)行異或運(yùn)算則結(jié)果又還原成234。其中234是要進(jìn)行加密的數(shù)據(jù),124則可看成是密鑰,因此運(yùn)用此特性可以將簡(jiǎn)易數(shù)據(jù)加解密算法用函數(shù)實(shí)現(xiàn)。當(dāng)用同一密鑰對(duì)某數(shù)據(jù)進(jìn)行奇數(shù)次異或運(yùn)算時(shí),是對(duì)該數(shù)據(jù)進(jìn)行加密運(yùn)算,當(dāng)進(jìn)行了偶數(shù)次異或運(yùn)算時(shí)則是進(jìn)行解密運(yùn)算。
首先,VB下的字符集采用Unicode字符集,它容量大,可置換的范圍廣;其次,在Unicode字符集中,所有字符的內(nèi)碼都占兩個(gè)字節(jié),不再象DOS下西文字符占一個(gè)字節(jié),中文字符占兩個(gè)字節(jié),這樣中、西文就都可以互換了。因此,對(duì)Unicode字符運(yùn)算需要兩個(gè)密鑰,其取值范圍為0至255,這樣對(duì)同一字符的加密就有255×255=65025種可能,如果更換密鑰后對(duì)密文再進(jìn)行加密,則會(huì)有無(wú)窮的可能性。其中一個(gè)密鑰用于對(duì)高字節(jié)加密,另一個(gè)密鑰用于對(duì)低字節(jié)進(jìn)行加密,則可將某個(gè)字符的高字節(jié)和低字節(jié)分別加以運(yùn)算,然后再將它們合成為另一個(gè)字符,從而置換原數(shù)據(jù)達(dá)到數(shù)據(jù)加密的作用,解密時(shí)則相反。
二、數(shù)據(jù)加解密界面設(shè)計(jì)
根據(jù)設(shè)計(jì)要求,首先啟動(dòng)VB6.0應(yīng)用程序,新建一個(gè)標(biāo)準(zhǔn)EXE工程,系統(tǒng)將會(huì)自動(dòng)創(chuàng)建一個(gè)名為Form1的窗體,可在該窗體上添加2個(gè)文本框控件用來(lái)顯示加密數(shù)據(jù)與解密數(shù)據(jù)和2個(gè)命令按鈕控件;其中,可通過(guò)屬性窗口將Form1窗體的Caption屬性值設(shè)置為“簡(jiǎn)易數(shù)據(jù)加解密”、2個(gè)文本框控件的Text屬性值都設(shè)置為“空”、命令按鈕1控件的Caption屬性值設(shè)置為“加 密”、命令按鈕2控件的屬性值設(shè)置為“解 密”,其界面設(shè)計(jì)如圖1所示。
三、數(shù)據(jù)加解密代碼實(shí)現(xiàn)
在代碼窗口中的“通用”部分定義幾個(gè)變量,本程序設(shè)計(jì)需編寫(xiě)加解密函數(shù)Encrypt[5]及對(duì)Command1和Command2的Click事件進(jìn)行編程,其程序清單如下:
Dim s As String
Dim d As String
Dim k1 As Byte
Dim k2 As Byte
Private Function Encrypt(ByVal strSource As String, ByVal Key1 As Byte, ByVal Key2 As Integer) As String
Dim bLowData As Byte
Dim bHigData As Byte
Dim i As Integer
Dim strEncrypt As String
Dim strChar As String
For i = 1 To Len(strSource)
strChar = Mid(strSource, i, 1)
bLowData = AscB(MidB(strChar, 1, 1)) Xor Key1
bHigData = AscB(MidB(strChar, 2, 1)) Xor Key2
strEncrypt = strEncrypt ChrB(bLowData) ChrB(bHigData)
Next
Encrypt = strEncrypt
End Function
Private Sub Command1_Click()
k1 = 128
k2 = 24
s = Encrypt(Text1.Text, k1, k2)
Text2.Text = s
Text1.Text = “”
End Sub
Private Sub Command2_Click()
d = Encrypt(s, k1, k2)
Text1.Text = d
Text2.Text = “”
End Sub
保存該工程并運(yùn)行,則在文本框1中輸入待加密字符,單擊其“加 密”命令按鈕則已加密字符顯示在文本框2中,當(dāng)然可單擊“解 密”命令按鈕進(jìn)行字符的解密,其運(yùn)行界面如圖2所示,至此對(duì)數(shù)據(jù)的簡(jiǎn)易加解密就實(shí)現(xiàn)了。
四、結(jié)束語(yǔ)
密碼分析成為了解決信息安全問(wèn)題的關(guān)鍵技術(shù),本設(shè)計(jì)采用面向?qū)ο蟪绦蛟O(shè)計(jì)方法進(jìn)行開(kāi)發(fā),讓用戶(hù)體驗(yàn)了VB強(qiáng)大的編程能力在電子商務(wù)中數(shù)據(jù)安全性的簡(jiǎn)單應(yīng)用。以上程序只是從原理上分析后給出的實(shí)例,在實(shí)際運(yùn)用當(dāng)中應(yīng)從字符密鑰中分別求出Key1和Key2,然后將加密后的數(shù)據(jù)再更換Key1和Key2反復(fù)進(jìn)行多次加密運(yùn)算,并結(jié)合換位法實(shí)現(xiàn)更大難度的加解密算法,保證電子商務(wù)中數(shù)據(jù)的安全與有效性。
參考文獻(xiàn):
[1]祁明:電子商務(wù)安全與保密[M].北京:高等教育出版社,2001
[2]William stallings.密碼編碼學(xué)與網(wǎng)絡(luò)安全[M].北京:電子工業(yè)出版社,2004
[3]趙泉:網(wǎng)絡(luò)安全與電子商務(wù)[M].北京:清華大學(xué)出版社,2005
[4]朱從旭:Visual Basic程序設(shè)計(jì)綜合教程[M].北京:清華大學(xué)出版社,2005
[5]何光渝:VB常用算法大全[M].西安:西安電子科技大學(xué)出版社,2001