仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 554|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页编程之加密解密 - asp实例

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:44:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。加密|解密|加密|解密加密前为:1234567890<P>加密后为:MTIzNDU2Nzg5MA<P>解密后为:1234567890源码:
<%
OPTIONEXPLICIT
constBASE_64_MAP_INIT="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
dimnewline
dimBase64EncMap(63)
dimBase64DecMap(127)
初始化函数
PUBLICSUBinitCodecs()
初始化变量
newline="<P>"&chr(13)&chr(10)
dimmax,idx
max=len(BASE_64_MAP_INIT)
foridx=0tomax-1
Base64EncMap(idx)=mid(BASE_64_MAP_INIT,idx+1,1)
next
foridx=0tomax-1
Base64DecMap(ASC(Base64EncMap(idx)))=idx
next
ENDSUB
Base64加密函数
PUBLICFUNCTIONbase64Encode(plain)
iflen(plain)=0then
base64Encode=""
exitfunction
endif
dimret,ndx,by3,first,second,third
by3=(len(plain)3)*3
ndx=1
dowhilendx<=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((first4)AND63)
ret=ret&Base64EncMap(((first*16)AND48)+((second16)AND15))
ret=ret&Base64EncMap(((second*4)AND60)+((third64)AND3))
ret=ret&Base64EncMap(thirdAND63)
ndx=ndx+3
loop
ifby3<len(plain)then
first=asc(mid(plain,ndx+0,1))
ret=ret&Base64EncMap((first4)AND63)
if(len(plain)MOD3)=2then
second=asc(mid(plain,ndx+1,1))
ret=ret&Base64EncMap(((first*16)AND48)+((second16)AND15))
ret=ret&Base64EncMap(((second*4)AND60))
else
ret=ret&Base64EncMap((first*16)AND48)
ret=ret&"="
endif
ret=ret&"="
endif
base64Encode=ret
ENDFUNCTION
Base64解密函数
PUBLICFUNCTIONbase64Decode(scrambled)
iflen(scrambled)=0then
base64Decode=""
exitfunction
endif
dimrealLen
realLen=len(scrambled)
dowhilemid(scrambled,realLen,1)="="
realLen=realLen-1
loop
dimret,ndx,by4,first,second,third,fourth
ret=""
by4=(realLen4)*4
ndx=1
dowhilendx<=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)AND255)+((second16)AND3))
ret=ret&chr(((second*16)AND255)+((third4)AND15))
ret=ret&chr(((third*64)AND255)+(fourthAND63))
ndx=ndx+4
loop
ifndx<realLenthen
first=Base64DecMap(asc(mid(scrambled,ndx+0,1)))
second=Base64DecMap(asc(mid(scrambled,ndx+1,1)))
ret=ret&chr(((first*4)AND255)+((second16)AND3))
ifrealLenMOD4=3then
third=Base64DecMap(asc(mid(scrambled,ndx+2,1)))
ret=ret&chr(((second*16)AND255)+((third4)AND15))
endif
endif
base64Decode=ret
ENDFUNCTION
初始化
callinitCodecs
测试代码
diminp,encode
inp="1234567890"
encode=base64Encode(inp)
response.write"加密前为:"&inp&newline
response.write"加密后为:"&encode&newline
response.write"解密后为:"&base64Decode(encode)&newline
%>

国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了
飘飘悠悠 该用户已被删除
沙发
 楼主| 发表于 2015-1-20 11:32:25 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
兰色精灵 该用户已被删除
板凳
发表于 2015-1-27 08:56:18 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
活着的死人 该用户已被删除
地板
发表于 2015-2-5 03:47:45 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
金色的骷髅 该用户已被删除
5#
发表于 2015-2-11 03:08:18 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
小妖女 该用户已被删除
6#
发表于 2015-3-1 20:15:35 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
再见西城 该用户已被删除
7#
发表于 2015-3-10 23:10:46 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
飘灵儿 该用户已被删除
8#
发表于 2015-3-17 15:52:08 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
莫相离 该用户已被删除
9#
发表于 2015-3-24 10:19:10 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-11 11:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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