VFP中加密和解密数据库的程序(VFP6-9运行没有问题)
加密PRG:
Local fhandle,cFileName
cFileName=getfile("DBF")
If file(cFileName)
fhandle=fopen(cFileName,12)
If fhandle>0
=fwrite(fhandle,chr(0),1)
=fclose(fhandle)
Endif
ENDIF
&&解密可以将=fwrite(fhandle,chr(0),1)语句中的chr(0)改为chr(48),更好的方法是将第一个字节读出并保存在一个DBF文件中,解密时再用保存的数据写回去
&&另外你可以参考http://expert.csdn.net/Expert/topic/1580/1580050.xml?temp=.6458246中的dbf文件格式说明,将文件前32个字节同一个特殊字节进行左移,右移,异或等位操作操作(使用bitlshift(),bitrshift(),bitxor()等函数)
解密PRG:
Local fhandle,cFileName
cFileName=getfile("DBF")
If file(cFileName)
fhandle=fopen(cFileName,12)
If fhandle>0
=fwrite(fhandle,chr(48),1)
=fclose(fhandle)
Endif
ENDIF