'===================================================== '==========仿discuz Passport 密匙处理函数============= '===================================================== function passport_key(ansitxt, encrypt_key) dim encrypt_key_tmp,encrypt_key_ary,txt_ary dim ctr,tmp,i encrypt_key_tmp = md5(encrypt_key,32) encrypt_key_ary=StrToAry(encrypt_key_tmp) txt_ary=AnsiToAry(ansitxt) ctr = 0 tmp = "" for i=0 to lenb(ansitxt)-1 if ctr=len(encrypt_key_tmp) then ctr=0 else ctr=ctr tmp= tmp & mxor(txt_ary(i),encrypt_key_ary(ctr)) ctr=ctr+1 next passport_key=tmp end function
'===================================================== '=================将字符串转换为Ansi数组============== '===================================================== function StrToAry(str) dim ary(),length,tmpstr,i tmpstr=strUnicode2Ansi(str) length=lenb(tmpstr) redim ary(length) for i=0 to length-1 ary(i)=midb(tmpstr,i+1,1) next StrToAry=ary end function
'===================================================== '=================将Ansi字符串转换为Ansi数组========== '===================================================== function AnsiToAry(str) dim ary(),length,i length=lenb(str) redim ary(length) for i=0 to length-1 ary(i)=midb(str,i+1,1) next AnsiToAry=ary end function
'===================================================== '=================异或操作============================ '===================================================== function mxor(chrb1,chrb2) if chrb1<>"" and chrb2 <>"" then mxor=chrb(ascb(chrb1) xor ascb(chrb2)) end if end function
(编辑:焦作站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|