FoxBASE+(DBASE)动态加密程序
n=0
set colo to /7
clear
set colo to /0
@5,21 to 13,61 clear
set colo to /1
@4,20 to 12,60 clear
kl=0
do whil .T.
set colo to 6+/1
@ 7,30 say "请输入口令:"
@ 7,43 get kl pict "99"
read
set cons off
set cons on
n=n+1
if kl<>tx
set colo to 4+/1
@10,30 say"口令错,再输入一次!"
? chr(7)+chr(7)
if n=3
set colo to 4+/1
@11,28 say"非系统操作作员,再见!"
l=0
do whil 1<100
l=l+2
enddo
quit
endi
else
@10,30 say "口令正确,进入主程序"
EXIT
endi
enddo
retu
接主控程序
程序说明:
本程序为一FOXBASE+(DBASE)动态加密的程序,其关键为操作者的上机时间。
其中:TX=ASC(SUBS(DTOC(DATE()),5,1)
DATE():测试上机者上机日期
DTOC():将日期型数据转换成字符型数据
SUBS():截取字串函数
ASC():将字符型数据转换成ASCⅡ
假设上机时间为03/29/93
则经过上述转换最终结果为57即口令为57
操作者只须输入即可
由于SUBS()截取的转换成字串的("03/29/93")第五个字节的值
应在0~9之间,所以其转换成ASCⅡ后的值应在48~57之间其为一一对应的关系。
(长春 周春明)