设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 9732|回复: 5
打印 上一主题 下一主题

哪位高人能给这代码(asp base64加解密)优化下

[复制链接]
跳转到指定楼层
1#
发表于 2008-10-23 21:35:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
哪位高人能给这代码(asp base64加解密)优化下
复制内容到剪贴板
代码:
<%
function bin2dec(binStr)
towPow=1
numLen=len(binStr)
bin2Dec=0
decPos=numLen
do while decPos>0
cChar=mid(binStr,decPos,1)
nChar=Cint(cChar)
bin2Dec=bin2Dec+nChar*towPow
towPow=towPow*2
decPos=decPos-1
Loop
end function

function dec2bin(octNumber)
vara=octNumber
do
dec2bin=cstr(vara mod 2) & dec2bin
vara=vara \ 2
loop until vara=0
end function

Bstr_base64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="


function enCode_base64(strBin)
bins=""
for i=1 to lenB(strBin)
varTm=AscB(midB(strBin,i,1))
bins=bins & right("00000000" & dec2bin(varTm),8)
if i mod 3=0 then
for w=0 to 3
sixBin=mid(bins,w*6+1,6)
nChar=bin2Dec(sixBin)+1
enCode_base64=enCode_base64 & mid(Bstr_base64,nChar,1)
next
bins=""
end if
next

if bins<>"" then
pads=3-len(bins) \ 8
exitLoop=false
do while not exitLoop
nChar=left(bins,6)
if len(nChar)<6 then
nChar=left(nChar & "000000",6)
exitLoop=true
end if
nNum=bin2dec(nChar)+1
enCode_base64=enCode_base64 & mid(Bstr_base64,nNum,1)
bins=mid(bins,7)
Loop
enCode_base64=enCode_base64 & String(pads,"=")
end if
end function

function deCode_base64(baseStr)
if len(baseStr) mod 4 <>0 then
exit function
end if
bins=""
for i=1 to Len(baseStr)
nChar=mid(baseStr,i,1)
if nChar="=" then
exit for
end if
oldValue=inStr(Bstr_base64,nChar)-1
binValue=right("000000" & dec2bin(oldValue),6)
bins=bins & binValue

if len(bins)>=8 then
deChar=left(bins,8)
bins=mid(bins,9)
deCode_base64=deCode_base64 & chrB(bin2Dec(deChar))
end if
next
end function
%>
enCode_base64("测试内容,要求中英文无错"
deCode_base64(***)

需要用来加密网址。
同时运行多个加密码指令太慢了。。。
请高人加速或者给个更快的代码
或者给个别的加解密网址的方案+代码,运行速度要快!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 02:57 , Processed in 0.107852 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表