asp下IP地址分段计算函数
2018-09-06 11:48
  IP地址分段计算 
<scriptlanguage=JScriptRunat=Server> 
functionIPDeCode(EIP){ 
varIp1,Ip2,Ip3,Ip4; 
Ip1=moveByteR(EIP&0xff000000,3); 
Ip2=moveByteR(EIP&0x00ff0000,2); 
Ip3=moveByteR(EIP&0x0000ff00,1); 
Ip4=EIP&0x000000ff; 
returnIp1+.+Ip2+.+Ip3+.+Ip4; 
} 
functionmoveByteL(num,bytenum){ 
returnnum<<=(bytenum*8) 
} 
functionmoveByteR(num,bytenum){ 
returnnum>>>=(bytenum*8) 
} 
</script> 
在vbs中没有位操作,这样在一个页面中用到了js和vbs,并不好,如果用vbs也可以,不过罗嗦了一些,而且有一点注意,如果在vbs中split(202.102.29.6,.),会得到202,102,29三个数,得不到最后一个6,所以需要将ip换成split(202.102.29.6&.,.) 
我用vbs做的,由于没有位操作,所以做得比较麻烦 
<% 
functionip2int(ipstr) 
dimiptemp,max 
iptemp=split(ipstr&.,.) 
max=ubound(iptemp) 
ifmax<>4then 
exitfunction 
endif 
dima,b,i 
a=&H 
fori=0to3 
b=Hex(iptemp(i)) 
iflen(b)=1then 
b=0&b 
endif 
a=a&b 
next 
ip2int=CLng(a) 
endfunction 
functionint2ip(ip) 
dimiptemp,a,ipstr,i,length 
iptemp=Hex(ip) 
length=8-len(iptemp) 
fori=1tolength 
iptemp=0&iptemp 
next 
a=left(iptemp,2) 
a=&H&a 
i=CInt(a) 
a=CStr(i) 
ipstr=a&. 
a=mid(iptemp,3,2) 
a=&H&a 
i=CInt(a) 
a=CStr(i) 
ipstr=ipstr&a&. 
a=mid(iptemp,5,2) 
a=&H&a 
i=CInt(a) 
a=CStr(i) 
ipstr=ipstr&a&. 
a=right(iptemp,2) 
a=&H&a 
i=CInt(a) 
a=CStr(i) 
ipstr=ipstr&a 
int2ip=ipstr 
endfunction 
dimtestIP,testInt 
testIP=202.102.29.6 
testInt=ip2int(testIP) 
response.writetestIP&willbeencodedto<fontcolor=red>&testInt&</font><br> 
response.writetestIP&willbedencodedto<fontcolor=red>&int2ip(testInt)&</font><br> 
%>
上一篇:ASP提速技巧五则
下一篇:隐藏ASP木马后门的两种方法