加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Discuz! Passport 通行证整合

发布时间:2020-03-22 06:08:52 所属栏目:PHP教程 来源:互联网
导读:请注意: 整合不成功可能造成的后果-----dz论坛无法登录,无法管理

'=====================================================
'==========仿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

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读