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

posted @ 2008-10-03 14:15  月亮不合眼  阅读(395)  评论(0编辑  收藏  举报