订阅本栏目 RSS您所在的位置: 深山工作室 > ASP > 正文

ASP链接地址栏参数的加密

深山工作室 2013/12/31 19:47:01 深山行者 字体: 浏览 12382
 
 
 
 
<% 
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))) 
%>
 
 
<a href="demo.asp?id=<%=base64Encode("11")%>" >测试</a>
解密ID:
 
<%
id=base64Decode(request("id"))
response.write id
%>
 
相关阅读
仿淘宝网站的导航标签效果!
呼伦贝尔市北天草原旅行社有限公司
根据页面模板动态生成html页面
asp用cDec将二进制转十进制然后再用cBit将十进制转二进制
安卓版微信中播放视频不自动全屏
iframe框架自适应高度代码
一个更加高级的CSS菜单,绝对实用,超强的
微软公司的三道面试题目看了会有意想不到的收获
共有0条关于《ASP链接地址栏参数的加密》的评论
发表评论
正在加载评论......
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 1000 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
网友评论声明,请自觉遵守互联网相关政策法规。

您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。

更多信息>>栏目类别选择
百度小程序开发
微信小程序开发
微信公众号开发
uni-app
asp函数库
ASP
DIV+CSS
HTML
更多>>同类信息
asp无限级调用分类显示
实现iis6与iis7环境下支持mp4视频随意拖动、预览播放、边下载边播放
做好的网站把http改成https申请SSL域名证书
纯asp根据当前日期计算出当前年份的属相
sql server中前缀为PK、UK、DF、CK、FK表的意思
ASP利用fso读取文件夹里所有文件的名字
更多>>最新添加文章
呼伦贝尔市北天草原旅行社有限公司
四川悠旅地旅游有限公司
连云港五洲旅行社有限公司
邓州市途鸿旅行社
连云港华夏国际旅行社有限公司
重庆长航江山国际旅行社
松原市海航商务旅行社
广西亚太国际旅行社有限公司
更多>>随机抽取信息
ewebeditor 删除信息时同时删除相关上传文件
收集的javascript客户端验证函数大全
调整CSS类型的顺序改变链接翻滚效果
javascript实现图片预览功能
uni-app判断当前客户端是安卓还是ios还是其它平台
你们负责对网站的后期推广吗?