随着电子商务的应用越来越多,信息安全问题越来越受到重视。为了防止无关人员浏览、修改和破坏数据库,最常用的方法是在VFP平台数据库应用系统中添加密码并加密密码。
数据加密技术。
数据加密技术通常采用对称加密和公钥技术,即对称加密和公钥(或非对称)加密。对称加密以DES算法为典型代表,非对称加密通常以RSA算法为代表,而在VFP平台上,通常采用以下加密方法。
1.固定密码。
也就是说,系统中只有一个密码,并且是相同的。它通常用于Foxpro平台,通过IIF和Accept语句实现。密码是在程序设计中实现的。因此,如果以后想修改密码,就必须更改其源程序或编写段落程序来修改密码,导致缺乏保密性和可变性。
2.简单加密的固定密码。
即将简化密码的加密,但密码仍然是固定的。实现密码的方法有两种:钥匙盘法和变换法。钥匙盘法是将密码或密码用户名存储在可移动磁盘上。使用时,将可移动磁盘插入计算机,系统读取密码或密码和用户名。这种方法保密性稍好,但缺乏方便性。磁盘易坏,易感染病毒。变换法是通过CAR()函数交换密码。加密语句为:PSD=CHR(65)+CHR(66)+。
CHR(67)+999,换算后可避免直接发现密码,若将上述两种方法混合使用,保密性较高。
3.简单加密变更密码。
也就是说,利用时间函数加密算法的核心句子是:
X=date()
PS2=Subs(cdow(x)、1、3)
Cdow()是返回字符周几的函数。根据今天是星期几,用户可以将星期前三个英文字母与“manage”一起输入,形成变化密码,达到稍强的保密性。
4.随机伪码加密法。
将1至7个用户密码转换为20个随机伪码,每次重新设置密码时产生的伪码不同。即使从数据库中删除伪码,通过转换生成的20个伪码和所有规则也无法进入系统,从而实现可靠的密码权限控制。
从用户密码到库存的随机伪码的转换由两个函数完成,一个是加密函数,另一个是解密函数。加密函数的想法是复杂化用户密码(真实代码)。隐蔽处理,即将真实代码淹没在20个伪代码中,加密函数如下:
FUNCMAZHL。
PARAZMZ。
ZMZ;
NI=RAND()*10^9。
IFNl~999999999。
N1=Nl+10^9。
ENDI
INT(NI)
STR(N1+ZMZ)+STR(NI)
(CI,L,4)
Pl=”
P2=”
FORK=1T010。
Pl=PI+SUBS(C2,2*K;I,1)
P2=P2+SUBS
ENDFOR。
WMZ;PI+P2。
RETUWMZ。
如果真码为:1234567,则伪码为:64915302152868193982,无论真码是一个还是同一个r伪码总是具有相同的不确定性和复杂性,因此不可能通过简化真码来分析伪码。
解码函数是将存储在数据库中的伪码转换为原始用户密码,其代码如下:
FUNCMAZH2。
PARAWMZ。
PP="
FORK=ltolo。
PP~PP+SUBS(WMZ、K、L)+SUBS(WMZ、K+
ENDFOR。
(PP,17,4)+SUBS(PP,1,16)
SUBS(DD、l、lo)
M2=SUBS(DD,11,10)
INT(VAL)-VAL(M2)
RETUZMZ。
由于提交的系统都是编辑的,非法者无法获得密码转换函数中的信息,因此不容易找到解密方法。