对DBF表进行加密或解密
2006-01-17 14:36
155 查看
*前提:被操作的表如果已经打开,一定要先关闭
*---------------------------------------
DBF_JM('temp.dbf',1) &&加密
DBF_JM('temp.dbf',0) &&解密
FUNCTION 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
*---------------------------------------
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
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
*---------------------------------------
DBF_JM('temp.dbf',1) &&加密
DBF_JM('temp.dbf',0) &&解密
FUNCTION 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
*---------------------------------------
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
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
相关文章推荐
- 对DBF表进行加密或解密
- .NET中进行Base64加密解密
- PHP使用DES进行加密与解密的方法详解
- Java中利用RSA算法进行加密解密
- cocos2dx之CCUserDefault及其数据进行加密解密
- 加密每个字符依次反复加上“4962873”中的数字,范围超过ASCII码的032(空格)~122(“z”),则进行模运算,然后解密。
- Linux如何使用GPG(GNU Privacy Guard)对信息/文件进行加密和解密
- 使用polarssl进行RSA加密解密
- NET下对二进制文件进行加密解密(C#)
- 如何用Java进行3DES加密解密
- iOS使用Security.framework进行RSA 加密解密签名和验证签名
- spring下jdbc配置文件进行加密解密
- lua-string-resty的aes加密解密,无法和python的aes进行对接
- Spring对外部属性文件指定的某个属性进行加密、解密
- Code笔记之:对使用zend加密后的php文件进行解密
- Mac对摘要进行加密后,怎么对摘要进行解密?
- java对文件进行加密解密操作
- iOS中使用RSA对数据进行加密解密
- .NET下对文件进行加密解密