用MS script encode加密asp

Active Server Page技术为应用开发商提供了基于脚本的直观、快
速、高效的应用开发手段,极大地提高了开发的效果。但由于ASP脚
本是采用明文(plain text)方式来编写的,所以应用开发商辛苦开发
出来的ASP应用程序,一旦发布到运行环境中去后,就很难确保这些
“源代码”不会被流传出去。这样就产生了如何有效地保护开发出来
的ASP脚本源代码的需求。

ASP运行机制

ASP脚本是一系列按特定语法(目前支持vbscript和jscript两种
脚本语言)编写的,与标准HTML页面混合在一起的脚本所构成的文
本格式的文件。当客户端的最终用户用WEB浏览器通过INTERNET
来访问基于ASP脚本的应用时,WEB浏览器将向WEB服务器发出
HTTP请求。WEB服务器分析、判断出该请求是ASP脚本的应用后,
自动通过ISAPI接口调用ASP脚本的解释运行引擎(ASP.DLL)。
ASP.DLL将从文件系统或内部缓冲区获取指定的ASP脚本文件,接
着就进行语法分析并解释执行。最终的处理结果将形成HTML格式的
内容,通过WEB服务器“原路”返回给WEB浏览器,由WEB浏览
器在客户端形成最终的结果呈现。这样就完成了一次完整的ASP脚本
调用。若干个有机的ASP脚本调用就组成了一个完整的ASP脚本应
用。

官方加密程序:从微软免费下载到sce10chs.exe 直接运行即可完
成安装过程。安装完毕后,将生成screnc.exe文件,这是一个运行在
DOS PROMAPT的命令工具。
运行screnc – l vbscript source.asp destination.asp生成包含密文
ASP脚本的新文件destination.asp用记事本打开看凡是“"之
内的,不管是否注解,都变成不可阅读的密文了,但无法加密中文。
几种ASP源代码保护方法:
1,“脚本最小化”即ASP文件中只编写尽可能少的源代码,实现
商业逻辑的脚本部分被封装到一个COM/DCOM组件,并在ASP脚
本中创建该组件,进而调用相应的方法(methed)即可。应用开发者
动手开发ASP脚本应用之前就可按此思路来开发,或者直接用ASP
脚本快速开发出原型系统后,针对需要保护、加密的重要脚本用
COM/DCOM组件来重新开发、实现并替换。
2,“脚本加密”即ASP脚本仍直接按源代码方式进行开发,但在
发布到运行环境之前将脚本进行加密处理,只要把加密后的密文脚本
发布出去。即在ASP.DLL读取脚本这个环节加入密文还原的处理。
实现这种思路的方法有两种:一是自行开发一个ISAPI的IIS过
滤(filter)块,在ASP.DLL之前勾连(hook)对ASP脚本文件的读
取,以便把文件系统读出的密文还原成ASP.DLL可以解释的明文;
方法二九是直接由ASP.DLL提供对ASP脚本加密处理的支持。微软
在新版本的Vbscript.dll jscript.dll中提供这种成为MS script encode
技术的支持。这样,无论是客户端的Vbscript jscript(包括WSH脚
本等),还是服务器端的Vbscript jscript (即ASP脚本)都可以支持
加密处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP代码中的Base64加密和解密工具可以通过以下步骤实现。 加密: 1. 获取要加密的字符串。 2. 将字符串转换为字节数组。 3. 使用ASP代码中的Base64编码函数对字节数组进行编码。 4. 将编码后的字符串作为加密结果返回。 解密: 1. 获取已经加密的Base64字符串。 2. 使用ASP代码中的Base64解码函数将字符串解码为字节数组。 3. 将解码后的字节数组转换为字符串。 4. 将解密后的字符串作为解密结果返回。 示例代码如下: ``` ' 加密函数 Function Base64Encode(str) Dim bytes, enc ' 将字符串转换为字节数组 bytes = StrToByteArray(str) ' 使用Base64编码函数进行编码 Set enc = Server.CreateObject("System.Text.Encoding") Base64Encode = enc.EncodeBytes_64(bytes) End Function ' 解密函数 Function Base64Decode(str) Dim bytes, enc ' 使用Base64解码函数进行解码 Set enc = Server.CreateObject("System.Text.Encoding") bytes = enc.DecodeBytes_64(str) ' 将字节数组转换为字符串 Base64Decode = ByteArrayToStr(bytes) End Function ' 将字符串转换为字节数组 Function StrToByteArray(str) Dim i, bytes ReDim bytes(Len(str) - 1) For i = 1 To Len(str) bytes(i - 1) = Asc(Mid(str, i, 1)) Next StrToByteArray = bytes End Function ' 将字节数组转换为字符串 Function ByteArrayToStr(bytes) Dim i, str For i = LBound(bytes) To UBound(bytes) str = str & Chr(bytes(i)) Next ByteArrayToStr = str End Function ``` 使用时,可以调用`Base64Encode`函数进行加密,以及调用`Base64Decode`函数进行解密。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值