★→ASP程序学习群:62655404 微信公众号开发
订阅本栏目 RSS您所在的位置: 深山工作室 > 所有信息 > 正文

ASP链接地址栏参数的加密

深山工作室 2013/12/31 19:47:01 深山行者 字体:  浏览 11876
当前标签
加密
 
 
 
 
<% 
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
%>
 
前一页:没有了
相关阅读
( 2014/8/23 19:56:33 )Asp加密解密函数
( 2010/7/8 22:18:46 )特别推荐的asp数字加密(rsa)
( 2010/3/23 14:57:01 )CSS代码格式化和压缩化
( 2009/6/7 9:45:08 )深山留言板V2.1 Build 090620
( 2009/5/11 8:51:35 )深山行者留言系统V2.0 (简称留言板V2.0)
( 2009/5/6 21:03:47 )对MD5加密方式使用者的建议
( 2009/4/26 21:22:19 )深山行者留言系统V1.0 (简称深山留言V1.0)
( 2008/4/2 23:10:09 )网站建设:ASP网站防范黑客技巧
更多信息>>栏目类别选择
rss学习
个人空间
网站设计
网站公告
下载
photoshop学习
ASP学习
DIV+CSS学习
SEO搜索引擎忧化
java学习
HTML学习
网站信息
网站类信息
更多>>同类信息
旅行社管理系统商业版3.0发布
js兼容多个浏览器右下角漂浮广告
兼容ie6+和火狐的禁止右键
生成随机字符串的函数,可以做为验证码一类的使用
更多>>最新添加文章
asp无限级调用分类显示
Object.assign的一些用法
利用css中的scale()实现放大缩小效果
uni-app操作json数组
uni-app自定义loading组件
uni-app一个像商城分类中心一样的联动侧边栏导航分类
uni-app实现tab选项卡
uni-app的父与子页面传递参数之属性Props字段类型讲解
更多>>随机抽取信息
特别简洁的简单JavaScript日历及说明
一个利用select下拉选择框进行变色的网页效果
在网页添加创建快捷方式的按钮
一个超级变态的DIV+CSS
DIV+CSS分页代码,放大镜分页效果
右击把当前页面添加到当地收藏夹
CSS代码格式化和压缩化
当鼠标移到图片上时会发生梦幻般轮流变化的图片特效