海外邮件中继,海外退信中继,美国高速VPS,不限流量VPN,邮局维护和管理,邮件网关,EMOS邮件中继,POSTFIX邮件中继,Winwebmail邮件中继,Winmail邮件中继,DBMail邮件中继,JDMail邮件中继,Exchange邮件中继,MDaemon邮件中继  淘宝店:http://shantan.taobao.com     云邮科技官网:www.yunrelay.com
【字体设置:大 中 小】
加密解密字符串的asp函数,如用于ASP链接地址栏参数的加密,看代码就明白。
比如:
show.asp?id=DB26538FA54C70E1E31608CA769087A407E92CF1
Base64解密函数 base64Decode(scrambled)
Base64加密函数 base64Encode(plain)
使用方法:
加密ID:
<a href="show.asp?id=<%=base64Encode(rs("id"))%>" ><%=rs("name")%></a>
解密ID:
id=base64Decode(request("id"))
函数代码:
<% 
const BASE_64_MAP_INIT = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" 
dim newline 
dim Base64EncMap(63) 
dim Base64DecMap(127) 
'初始化函数 
PUBLIC SUB initCodecs() 
' 初始化变量 
newline = "<P>" & chr(13) & chr(10) 
dim max, idx 
max = len(BASE_64_MAP_INIT) 
for idx = 0 to max - 1 
Base64EncMap(idx) = mid(BASE_64_MAP_INIT, idx + 1, 1) 
next 
for idx = 0 to max - 1 
Base64DecMap(ASC(Base64EncMap(idx))) = idx 
next 
END SUB 
'Base64加密函数 
PUBLIC FUNCTION base64Encode(plain) 
if len(plain) = 0 then 
base64Encode = "" 
exit function 
end if 
dim ret, ndx, by3, first, second, third 
by3 = (len(plain) \ 3) * 3 
ndx = 1 
do while ndx <= by3 
first = asc(mid(plain, ndx+0, 1)) 
second = asc(mid(plain, ndx+1, 1)) 
third = asc(mid(plain, ndx+2, 1)) 
ret = ret & Base64EncMap( (first \ 4) AND 63 ) 
ret = ret & Base64EncMap( ((first * 16) AND 48) + ((second \ 16) AND 15 ) ) 
ret = ret & Base64EncMap( ((second * 4) AND 60) + ((third \ 64) AND 3 ) ) 
ret = ret & Base64EncMap( third AND 63) 
ndx = ndx + 3 
loop 
if by3 < len(plain) then 
first = asc(mid(plain, ndx+0, 1)) 
ret = ret & Base64EncMap( (first \ 4) AND 63 ) 
if (len(plain) MOD 3 ) = 2 then 
second = asc(mid(plain, ndx+1, 1)) 
ret = ret & Base64EncMap( ((first * 16) AND 48) + ((second \ 16) AND 15 ) ) 
ret = ret & Base64EncMap( ((second * 4) AND 60) ) 
else 
ret = ret & Base64EncMap( (first * 16) AND 48) 
ret = ret '& "=" 
end if 
ret = ret '& "=" 
end if 
base64Encode = ret 
END FUNCTION 
'Base64解密函数 
PUBLIC FUNCTION base64Decode(scrambled) 
if len(scrambled) = 0 then 
base64Decode = "" 
exit function 
end if 
dim realLen 
realLen = len(scrambled) 
do while mid(scrambled, realLen, 1) = "=" 
realLen = realLen - 1 
loop 
dim ret, ndx, by4, first, second, third, fourth 
ret = "" 
by4 = (realLen \ 4) * 4 
ndx = 1 
do while ndx <= by4 
first = Base64DecMap(asc(mid(scrambled, ndx+0, 1))) 
second = Base64DecMap(asc(mid(scrambled, ndx+1, 1))) 
third = Base64DecMap(asc(mid(scrambled, ndx+2, 1))) 
fourth = Base64DecMap(asc(mid(scrambled, ndx+3, 1))) 
ret = ret & chr( ((first * 4) AND 255) + ((second \ 16) AND 3)) 
ret = ret & chr( ((second * 16) AND 255) + ((third \ 4) AND 15)) 
ret = ret & chr( ((third * 64) AND 255) + (fourth AND 63)) 
ndx = ndx + 4 
loop 
if ndx < realLen then 
first = Base64DecMap(asc(mid(scrambled, ndx+0, 1))) 
second = Base64DecMap(asc(mid(scrambled, ndx+1, 1))) 
ret = ret & chr( ((first * 4) AND 255) + ((second \ 16) AND 3)) 
if realLen MOD 4 = 3 then 
third = Base64DecMap(asc(mid(scrambled,ndx+2,1))) 
ret = ret & chr( ((second * 16) AND 255) + ((third \ 4) AND 15)) 
end if 
end if 
base64Decode=ret 
END FUNCTION 
call initCodecs 
'abc="aspxhome.com"
'response.write(base64Encode(abc))'加密字符串abc 
'解密加密的字符串 
'response.Write(base64Decode(base64Encode(abc))) 
%>
        
	  
           
         发表评论 - 不要忘了输入验证码哦! 
        

 用户登陆
 用户登陆 站点日历
 站点日历 站点统计
 站点统计 最新评论
 最新评论 日志搜索
 日志搜索 
 
 ASP实现地址栏加密和解密的函数   [ 日期:2010-01-15 00:43:43 ]   [ 来自:
 ASP实现地址栏加密和解密的函数   [ 日期:2010-01-15 00:43:43 ]   [ 来自: