基于VB的电子商务数据加密算法分析

时间:2022-06-11 07:47:32

基于VB的电子商务数据加密算法分析

[摘要] 信息的安全性一直是电子商务应用中的首要问题,本文基于VB实现的密码技术能对数据进行简单的加密与解密,首先介绍了VB中的简易数据加解密算法的一般原理;然后在VB窗体中对此算法实现的界面进行详细设计;最后是关于本算法的代码实现及展望。简单易学的算法在数据加解密上的实现,让用户体验了VB编程能力在电子商务数据安全性方面的快速应用。

[关健词] 加解密 电子商务 VB

网上购物等电子商务活动在今天已十分普及与方便,虽然随着网络技术的不断发展,各种安全机制、策略和工具不断被研究和应用,但Internet的开放性,以及其他方面因素导致网络环境下的计算机系统仍存在很多安全问题。电子商务中的信息安全始终是一个核心问题,因此,在客观上需要一种强有力的安全措施来保护机密数据。密码技术是保护网络安全最有效的技术之一,采取了加密保护措施的网络,可以防止非授权用户的窃听和非法入网,而且也是对付恶意软件的有效方法之一。

一、简易数据加解密算法

加密是通过对信息的重新组合,使得只有收发双方才能解码并还原信息的一种手段,这种手段的原理及应用是本论文研究的重点,基于VB实现DES和RSA等一般的加解密算法过于复杂,且运算速度慢,特别是它的移位操作,因此,研究简易数据加解密算法在电子商务数据保密方面具有相当的现实意义。从加密的主要方法看,换位法过于简单,特别是对于数据量少的情况很容易由密文猜出明文,则简易加解密算法采用替换法对数据进行快速加密,而且加密后的数据能正确地得到解密,当然关键是像VB这样的高级语言能容易实现。

从各种位运算的特点看,异或运算最适合用于简易加解密运算,因为当数1和数2进行异或运算生成数3,若再将数3和数2进行异或运算则又会还原为数1。例如将234和124进行异或运算的结果是150,再将150和124进行异或运算则结果又还原成234。其中234是要进行加密的数据,124则可看成是密钥,因此运用此特性可以将简易数据加解密算法用函数实现。当用同一密钥对某数据进行奇数次异或运算时,是对该数据进行加密运算,当进行了偶数次异或运算时则是进行解密运算。

首先,VB下的字符集采用Unicode字符集,它容量大,可置换的范围广;其次,在Unicode字符集中,所有字符的内码都占两个字节,不再象DOS下西文字符占一个字节,中文字符占两个字节,这样中、西文就都可以互换了。因此,对Unicode字符运算需要两个密钥,其取值范围为0至255,这样对同一字符的加密就有255×255=65025种可能,如果更换密钥后对密文再进行加密,则会有无穷的可能性。其中一个密钥用于对高字节加密,另一个密钥用于对低字节进行加密,则可将某个字符的高字节和低字节分别加以运算,然后再将它们合成为另一个字符,从而置换原数据达到数据加密的作用,解密时则相反。

二、数据加解密界面设计

根据设计要求,首先启动VB6.0应用程序,新建一个标准EXE工程,系统将会自动创建一个名为Form1的窗体,可在该窗体上添加2个文本框控件用来显示加密数据与解密数据和2个命令按钮控件;其中,可通过属性窗口将Form1窗体的Caption属性值设置为“简易数据加解密”、2个文本框控件的Text属性值都设置为“空”、命令按钮1控件的Caption属性值设置为“加 密”、命令按钮2控件的属性值设置为“解 密”,其界面设计如图1所示。

三、数据加解密代码实现

在代码窗口中的“通用”部分定义几个变量,本程序设计需编写加解密函数Encrypt[5]及对Command1和Command2的Click事件进行编程,其程序清单如下:

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

保存该工程并运行,则在文本框1中输入待加密字符,单击其“加 密”命令按钮则已加密字符显示在文本框2中,当然可单击“解 密”命令按钮进行字符的解密,其运行界面如图2所示,至此对数据的简易加解密就实现了。

四、结束语

密码分析成为了解决信息安全问题的关键技术,本设计采用面向对象程序设计方法进行开发,让用户体验了VB强大的编程能力在电子商务中数据安全性的简单应用。以上程序只是从原理上分析后给出的实例,在实际运用当中应从字符密钥中分别求出Key1和Key2,然后将加密后的数据再更换Key1和Key2反复进行多次加密运算,并结合换位法实现更大难度的加解密算法,保证电子商务中数据的安全与有效性。

参考文献:

[1]祁明:电子商务安全与保密[M].北京:高等教育出版社,2001

[2]William stallings.密码编码学与网络安全[M].北京:电子工业出版社,2004

[3]赵泉:网络安全与电子商务[M].北京:清华大学出版社,2005

[4]朱从旭:Visual Basic程序设计综合教程[M].北京:清华大学出版社,2005

[5]何光渝:VB常用算法大全[M].西安:西安电子科技大学出版社,2001

上一篇:构建电子商务综合实践教学平台的研究 下一篇:传统食品流通模式的消费者调查研究