用隐形字符制作加密口令 郭会清 1998年 第21期 12版   在FoxPro数据库管理系统中,最重要的莫过于程序的保密问题了。为了防止无关人员访问数据库,人们设计了各种加密口令,但它们都有几个共同的问题:一是他人可通过阅读源程序或其他方式巧取口令(即使.EXE文件也可反编译为.PRG文件);二是若口令放在口令盘上,软盘易损坏,甚至丢失。那么有没有一个更为稳妥的方法呢?答案是肯定的。笔者利用FoxPro 2.5B for DOS编写了如下一个小程序,只要把它放在系统主程序之前,将使系统保密程度大大提高:   set talk off   set color to /n   clear   set color to w/r   define window lockwin from 5,5 to 15,72 title "口令检测窗口"double   acti window lockwin   @2,10 say "请操作员输入正确的口令,输完后回车:"   set color to /w   @2,45 say space(5)   @2,45 say ' '   set color to w/r   n=1   do while n<=3   set cons off   acce to password   set cons on   if password=ltrim(str(val(time())*10))+' '   &&上行单引号内的空格用“Alt+255”进行输入,即按住Alt不放,再依次按小键盘上的255,然后一起放开   exit   endif   if n=3   clear   wait space(14)+"对不起,您无权使用本系统,按任意键退出!"   clear   quit   endif   @n+3,20 say "口令错,请再次仔细输入!"   n=n+1   enddo   clear all   &&以下接系统主程序   从程序上我们可以看出,口令password通过取时间函数而获得,其值为时钟点数(小时)的10倍,并随时间的移动而不断变化;其后的隐形空格使窃看源程序者以为是个真空格而不知所云。至于合法用户,比如现在是23点多,则口令输入230,并按“Alt+255”,即可进入系统。