如果你用过股票分析软件你就知道,他们的历史数据(如后缀名为.ls)是其他程序大不开的,而只有他们自己的软件才能打开。而它的历史数据应该是一个表(如dbf)。那么请问,如何给dbf表加密?也就是可不可能让dbf不能被vfp打开?当然,我要把dbf的后缀名改为我自己的。
谢谢!
---------------------------------------------------------------
software Dog是用在这里的吗?
---------------------------------------------------------------
你可以用你自己的扩展名来命名,这样用vfp就打不开,要用的时候通过程序实现
将文件改名让数据库能认识,应用操作结束后通过程序再将名字该回去
---------------------------------------------------------------
看看这段代码吧,这是以前帖过的:
数据库加密程序
*加解密程序filename文件名jm为1加密0解密
*加密思想:用低级文件函数改写数据库第一个字节
parameters filename,jm
*处理文件名
if at('.',filename)=0
filename=filename+'.dbf'
endif
if jm=1 &&加密
handle=fopen(filename,2) &&打开文件
keybite=fread(handle,1) &&读表头第一个字节
=fseek(handle,0) &&指针移回第一个字节
=fwrite(handle,chr(asc(keybite)+2)) &&用比原来高2的ASCII字符改写
=fclose(handle) &&关闭文件
else &&解密
handle=fopen(filename,2)
keybite=fread(handle,1)
=fseek(handle,0)
=fwrite(handle,chr(asc(keybite)-2)) &&用比原来低2的ASCII字符改写
=fclose(handle)
endif
*经过这样处理过的表就不能用USE打开,优点是加密速度快,但不彻底但用
*一个文本编辑器打开还是可以看到一些东西,怎样进一步加密还有待探讨。
分析一下上面这段程序,帖主可以根据其中的原理,按需要进行其它内容的修改,希望对帖主能有帮助。
---------------------------------------------------------------
gz up
---------------------------------------------------------------
up
加密问题应该研究。
---------------------------------------------------------------
up
---------------------------------------------------------------
xiaowei_2002(小魏!) 是比较可行的。
还有一种简单低级的方式就是把dbf文件的后缀全改写,可以改为系统可认的后缀,如:a.bmp、b.zip等,这样可以误导机器而认为打不开;或者也可以改为系统不可认的格式,如:a.up、b.ls等,这样机器就不可打开了。而实际上可以用use a.bmp、use b.ls等命令使用表文件。
---------------------------------------------------------------
我使用函数吧要放入表的数据加密!SELECT出来时在解密!不知对你有没有帮助!