仓酷云

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

[学习教程] ASP网页编程之用Asp写个加密息争密的类

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

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

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

x
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 用asp写个复杂的加密息争密的类,在这个类中复杂的完成了一个加密息争密。目标是和人人分享一下。这个类的破解十分复杂。看看我的正文就晓得是怎样回事了。下次编写一个java的加密息争密的类。

  classBase64Class

  remConst

  dimsBASE_64_CHARACTERS转化码

  dimlenString盘算字符串的长度

  dimiCount计数器

  dimreturnValue前往值

  dimtempChar缓存字符

  dimtempString缓存字符串

  dimparamString参数字符串

  dimtemHex缓存缓存十六进制

  dimtempLow缓存低位

  dimtempHigh缓存高位

  dimmod3String

  dimmod4String

  dimtempBinary

  dimtempByteOne

  dimtempByteTwo

  dimtempByteThree

  dimtempByteFour

  dimtempSaveBitsOne

  dimtempSaveBitsTwo

  ********************************************

  begin初始化类

  ********************************************

  privatesubClass_Initialize()

  sBASE_64_CHARACTERS=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz09+/endsub

  ********************************************

  end初始化类

  ********************************************

  ********************************************

  begin烧毁类

  ********************************************

  PrivateSubClass_Terminate()

  sBASE_64_CHARACTERS=endsub

  ********************************************

  end烧毁类

  ********************************************

  ********************************************

  begin将Ansi编码的字符串举行Base64编码

  ********************************************

  publicfunctionEncode(paramString)

  tempString=

  returnValue=

  lenString=len(paramString)

  iflenString<1then

  Encode=returnValue

  else

  mod3String=lenStringmod3

  补足位数是为了便于盘算

  ifmod3String>0then

  lenString=lenString+3-mod3String

  lenString=lenString-3

  *************************begin

  foriCount=1tolenStringstep3

  tempBinary=Mid(paramString,iCount,3)

  response.writetempBinary

  tempByteOne=Asc(Mid(tempBinary,1,1)):tempSaveBitsOne=tempByteOneAnd3

  tempByteTwo=Asc(Mid(tempBinary,2,1)):tempSaveBitsTwo=tempByteTwoAnd15

  tempChar=Asc(Mid(tempBinary,3,1))

  tempByteOne=Mid(sBASE_64_CHARACTERS,((tempByteOneAnd252)4)+1,1)

  tempByteTwo=Mid(sBASE_64_CHARACTERS,(((tempByteTwoAnd240)16)Or(tempSaveBitsOne*16)And&HFF)+1,1)

  tempByteThree=Mid(sBASE_64_CHARACTERS,(((tempCharAnd192)64)Or(tempSaveBitsTwo*4)And&HFF)+1,1)

  tempByteFour=Mid(sBASE_64_CHARACTERS,(tempCharAnd63)+1,1)

  tempString=tempByteOne&tempByteTwo&tempByteThree&tempByteFourreturnValue=returnValue&tempStringnext

  *************************end

  *************************begin处置最初残剩的几个字符

  ifmod3String>0then

  tempBinary=Mid(paramString,iCount,mod3String)

  ifmod3String=1then

  tempString=tempBinary&Chr(64)&Chr(64)&Chr(64)用@号补足位数

  elsetempString=tempBinary&Chr(64)&Chr(64)用@号补足位数

  endif

  returnValue=returnValue&tempString

  endif

  *************************end处置最初残剩的几个字符

  Encode=returnValueendifendfunction

  ********************************************

  end将Ansi编码的字符串举行Base64编码

  ********************************************

  ********************************************

  end将Base64编码字符串转换成Ansi编码的字符串

  ********************************************

  publicfunctionDecode(paramString)

  tempString=

  returnValue=

  lenString=len(paramString)

  iflenString<1then

  Decode=returnValue

  else

  mod4String=lenStringmod4

  ifmod4String>0then字符串长度应该是4的倍数

  Decode=returnValue

  elsebegin判别是否是@号

  ifMid(paramString,lenString-1,1)=@then

  mod4String=2

  endif

  ifMid(paramString,lenString-2,1)=@then

  mod4String=1

  endif

  end判别是否是@号

  ifmod4String>0then

  lenString=lenString-4

  ******************************begin

  foriCount=1tolenStringstep4

  tempString=Mid(paramString,iCount,4)

  tempByteOne=InStr(sBASE_64_CHARACTERS,Mid(tempString,1,1))-1

  tempByteTwo=InStr(sBASE_64_CHARACTERS,Mid(tempString,2,1))-1

  tempByteThree=InStr(sBASE_64_CHARACTERS,Mid(tempString,3,1))-1

  tempByteFour=InStr(sBASE_64_CHARACTERS,Mid(tempString,4,1))-1

  tempByteOne=Chr(((tempByteTwoAnd48)16)Or(tempByteOne*4)And&HFF)tempByteTwo=&Chr(((tempByteThreeAnd60)4)Or(tempByteTwo*16)And&HFF)

  tempByteThree=Chr((((tempByteThreeAnd3)*64)And&HFF)Or(tempByteFourAnd63))

  tempString=tempByteOne&tempByteTwo&tempByteThree

  returnValue=returnValue&tempString

  next

  ******************************end

  处置最初残剩的几个字符

  ifmod4String>0then

  tempString=center(center(paramString,4),mod4String)

  returnValue=returnValue&tempString

  endif

  Decode=returnValue

  endif

  endif

  endfunction

  ********************************************

  end将Base64编码字符串转换成Ansi编码的字符串

  ********************************************

  CSDNpxjianke
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)
透明 该用户已被删除
沙发
发表于 2015-1-19 19:28:46 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-28 09:47:32 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-5 20:25:15 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
兰色精灵 该用户已被删除
5#
发表于 2015-2-13 13:09:45 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
再现理想 该用户已被删除
6#
发表于 2015-3-3 21:41:59 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
再见西城 该用户已被删除
7#
发表于 2015-3-11 13:58:33 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
海妖 该用户已被删除
8#
发表于 2015-3-18 19:46:25 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 01:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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