使用方法:
DBF_JM('temp.dbf',1) &&加密
DBF_JM('temp.dbf',0) &&解密
注意:
被操作的表如果已经打开,一定要先关闭
UNCTION dbf_jm
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
ENDFUNC
*---------------------------------------
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
Function dbf_jiemi()
FUNCTION dbf_jiemi &&解密
PARAMETERS lfile
lfn=ALLTRIM(lfile)
lh=FOPEN(lfn,12)
=FSEEK(lh,0,0)
=FSEEK(lh,8)
lk1=FREAD(lh,1)
lk2=FREAD(lh,1)
=FSEEK(lh,0,0)
=FSEEK(lh,8)
=FWRITE(lh,CHR(ASC(lk1)-2),1)
=FWRITE(lh,CHR(ASC(lk2)-2),1)
=FCLOSE(lh)
RETURN
ENDFUNC
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
Function dbf_jiami()FUNCTION dbf_jiami &&加密
PARAMETERS lfile
lfn=ALLTRIM(lfile)
lh=FOPEN(lfn,12)
=FSEEK(lh,0,0)
=FSEEK(lh,8)
lk1=FREAD(lh,1)
lk2=FREAD(lh,1)
=FSEEK(lh,0,0)
=FSEEK(lh,8)
=FWRITE(lh,CHR(ASC(lk1)+2),1)
=FWRITE(lh,CHR(ASC(lk2)+2),1)
=FCLOSE(lh)
RETURN
ENDFUNC