多语言展示
当前在线:1090今日阅读:167今日分享:16

vfp中如何将字符串加密解密

在应用软件中,数据库管理软件是应用的最广泛的软件。数据库管理软件的安全性、保密性是开发、应用人员较为关心的。那么vfp中如何将字符串加密解密呢?今天小编就来介绍一种方法。
工具/原料

vfp

方法/步骤
1

在VFP中,加解密字符串其实有很多种方法,在这里有一个函数,希望对您有所帮助:本函数功能: 1.加解密字符串.2.如果有人非法修改密码,将提示非法修改.

2

入口: * LCZIP --判断是加密还是解密,.T. --加密,.F.解密*Lcpass--要加解密的字符串返回: *加解密后字符串注意:如果返回的字符串为ERROR*证明密码出错或着密码被非法修改过.

3

FunCtion CalcPassWordPara Lczip,LcpasslCPASS=Allt(Lcpass)IF LcZip &&加密Lcpass='DALY'+LcpassLCNewPass=CHR(Len(Lcpass))*处理字符串,使它不为空因为我要把加密后的字符放到数据库,为防他人直接打开.

4

数据库看出密码为空For i=1 To Len(Lcpass)LCNewPass=LCNewPass+Chr(asc(SubStr(Lcpass,i,1))/32);+Chr(asc(SubStr(Lcpass,i,1))%32)EndFor*取出字符串中的单个字符,并把它转为ASCII码.*把ASCII码除于32得到的整数跟余数转为字符,再把两个字符和合为一个字符串.

5

*经这种处理后,已经无法得知原来的字符,只有经计算机用反方法解开LCNewPass=PADR(LCNewPass,50,CHR(1)) &&返回50个字符长度,不足的用CHR(1)补足ElseIF LEN(lCPASS)#50 &&如果长度出错,证明非法修改过=MESSAGEbOX('密码被非法修改',0,_screen.caption)Return 'ERROR'ENDIFFor i=1 TO 50IF asc(SubStr(Lcpass,i,1))>=32 &&检查密码是否被非法修改=MESSAGEbOX('密码被非法修改',0,_screen.caption)Return 'ERROR'ENDIFEndForLCNewPass='' &&解密For I=0 TO (asc(SubStr(Lcpass,1,1))*2)-9LCNewPass=LCNewPass+Chr(asc(SubStr(Lcpass,i+10,1))*32;+asc(SubStr(Lcpass,i+11,1)))i=i+1EndForEndIFReturn LcNewPass

6

以上这种编程方式希望可以帮助你在vfp中将字符串加密解密。

推荐信息