编写一个加密和解密程序。对加密的说明:当输入一个字符串时,其重新产生的字符串,用vfp怎
1个回答
展开全部
这个程序用于加密和解密字符,调用时用mima("字符串",.t.)加密,mima("密码字符串",.f.)解密
para dm,mm
*转换成密码*
dm=allt(dm)
IF AT('_',dm)<>0
MESSAGEBOX('密码中不能含有下划线!',16,'警告')
RETURN TO MASTER
ENDIF
IF mm
IF LEN(ALLTRIM(dm))<3
RETURN ''
ENDIF
dm=left(dm+sys(2015)+sys(3),21)
daima=right(time(),2)
for i=1 to 21
asm=asc(subst(dm,i,1))
daima=daima+RIGHT('0'+allt(str(127-asm)),2)
endfor
daima=daima+sys(3)
ELSE
*把密码还原*
daima=''
IF LEN(allt(dm))<>52
RETURN ''
ENDIF
dm=subst(dm,3,len(dm)-10)
for i=1 to len(dm) step 2
asm=val(subst(dm,i,2))
daima=daima+chr(127-asm)
endfor
if at('_',daima)<>0
daima=left(daima,at('_',daima)-1)
endif
endif
retu daima
para dm,mm
*转换成密码*
dm=allt(dm)
IF AT('_',dm)<>0
MESSAGEBOX('密码中不能含有下划线!',16,'警告')
RETURN TO MASTER
ENDIF
IF mm
IF LEN(ALLTRIM(dm))<3
RETURN ''
ENDIF
dm=left(dm+sys(2015)+sys(3),21)
daima=right(time(),2)
for i=1 to 21
asm=asc(subst(dm,i,1))
daima=daima+RIGHT('0'+allt(str(127-asm)),2)
endfor
daima=daima+sys(3)
ELSE
*把密码还原*
daima=''
IF LEN(allt(dm))<>52
RETURN ''
ENDIF
dm=subst(dm,3,len(dm)-10)
for i=1 to len(dm) step 2
asm=val(subst(dm,i,2))
daima=daima+chr(127-asm)
endfor
if at('_',daima)<>0
daima=left(daima,at('_',daima)-1)
endif
endif
retu daima
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询