仓酷云

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

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

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

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

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

x
帮助用户快速实现各种应用服务,ASP商有整合各方面资源的能力,可在短期内为用户提供所需的解决方案。例如,典型的ERP安装,如果要在客户端安装的话需要半年到二年的时间,但是美国的一些ASP商如USI和CORIO能在90—120天内提供ERP应用方案。加密|解密  用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="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"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
  endif


  *************************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
  endif


  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=left(right(paramString,4),mod4String)
  returnValue=returnValue&tempString
  endif
  Decode=returnValue
  endif
  endif
  endfunction
  ********************************************
  end将Base64编码字符串转换成Ansi编码的字符串
  ********************************************
  endclass

ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;
金色的骷髅 该用户已被删除
沙发
发表于 2015-1-18 21:40:25 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
海妖 该用户已被删除
板凳
发表于 2015-1-25 12:10:22 | 只看该作者
掌握asp的特性而且一定要知道为什么。
不帅 该用户已被删除
地板
发表于 2015-2-2 22:03:37 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
柔情似水 该用户已被删除
5#
发表于 2015-2-25 10:32:20 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
若相依 该用户已被删除
6#
发表于 2015-3-7 19:56:53 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-15 13:15:31 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
精灵巫婆 该用户已被删除
8#
发表于 2015-3-22 01:11:47 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 12:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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