vbscript.encode,vbscript中怎样把gb2312转换为UTF-8编码
大家好,今天小编来为大家解答vbscript.encode这个问题,vbscript中怎样把gb2312转换为UTF-8编码很多人还不知道,现在让我们一起来看看吧!
如何用script encoder 对asp文件加密
我的Script Encoder装在C:\Program Files\Windows Script Encoder
这里面有个screnc.exe
你运行CMD,然后进入这里,把你要加密的文件夹先考过去,
例,我把OA文件夹考过去了,然后,运行
screnc/f oa\*.asp
这样,C:\Program Files\Windows Script EncodeR\OA下的所有,ASP文件就加密了.不过如果,OA下还有子文件夹,那这个子文件夹的不会被加密.
Script Encoder是个命令行工具,执行文件为SCRENC.EXE。它的操作非常简单:
SCRENC [/s] [/f] [/xl] [/l defLanguage ] [/e defExtension] inputfile outputfile
/s可选。让Script Encoder“安静”的工作,即执行过程
没有屏幕输出。(我使用的感觉忽略它,同样没有屏幕
输出。没什么用,懒得理了。)
/f可选。指定输出文件是否覆盖同名输入文件。忽略,将
不执行覆盖。
/xl可选。是否在.asp文件的顶部添加@Language指令。忽略,
将添加。
/l defLanguage可选。指定Script Encoder加密中选择的缺省脚本语言。
文件中不包含这种脚本语言特性的脚本将被Script Encoder
忽略。对于HTML和脚本文件来说,JScript为内置缺省脚
本语言。对于ASP文件,VBScript为缺省脚本语言。同时
对于扩展名为.vbs或.js的文件Script Encoder有自适应
能力。
/e defExtension可选。指定待加密文件的文件扩展名。缺省状态下,Script
Encoder能识别asa,asp,cdx,htm,html,js,sct和vbs文件。
三、常见问题和注意事项
1、在JOY ASP中几次看到有网友使用Script Encoder时出现如下错误:
"Script Encoder object<"Scripting.Encoder"> not found"
其原因:是使用Script Encoder需要Script Engine 5.0或以上脚本引擎的支持。
解决的办法有两个,升级浏览器到IE5或安装Script Engine 5.0。
2、在加密Global.asa时,加密完成后访问出现:
Active Server Pages错误''ASP 0137''
无效通用脚本
global.asa,行1
Script块必须是允许的 Global.asa过程之一。<%...%>中的 Script原语不
允许在 global.asa文件中。允许的过程只能是 Application_OnStart,
Application_OnEnd, Session_OnStart,或 Session_OnEnd。
加密后的global.asa文件为:
<%@ LANGUAGE= VBScript.Encode%><SCRIPT LANGUAGE=VBScript.Encode
RUNAT=Server>#@~^nAIAAA==@#@&?i~Pzww^k1CYbWU{}xjOmDY@#@&@#@&BP</SCRIPT>
<SCRIPT LANGUAGE=VBScript.Encode RUNAT=Server>#@~^OgEAAA==@#@&?i~Pzww^k
1CYbWU{}x3U9@#@&@#@&P,P?O~sbVr8Ln^DPxPUnD7+.;D+COr==^#~@</SCRIPT>
<SCRIPT LANGUAGE=VBScript.Encode RUNAT=Server>#@~^DQMAAA==@#@&?i~PU+/kk
KU{}xjYmDO@#@&@#@&E~NnJ*Px~rCl1V+MJ@#@&3Hf,?`A@#@&ftEAAA==^#~@</SCRIPT>
<SCRIPT LANGUAGE=VBScript.Encode RUNAT=Server>#@~^WwIAAA==@#@&?i~PU+/kk
KU{}x3x9@#@&(6P?d/bWxvEj{!/DmmG[JbP@!@*PrCC^0+DE~:tnx@#@&</SCRIPT>
出现这个错误的原因是:在加密完的global.asa文件顶部被写入了
<%@ LANGUAGE= VBScript.Encode%>
解决的办法是手动删去这一行或者使用/xl参数加密即可。
3、Script Encoder对Remote Scripting无效。
screnc怎样对vbs代码进行加密,让它乱码但可以运行
如果你是一位资深的网页设计师,如果你开发网站的时间在三年以上,那么你就会明白,返回到浏览器的代码是无法请别人看不到的。不是完全不可以,目的是不让别人查看真正的源码,就用框架遮挡,对付基本层次的可以了,不过对付高手还差点。尤其是使用右键警告的方式,太落后了。
从中国电脑教育报上看到这样一篇文章:
〈html〉
〈head〉
〈title〉myhome〈/title〉
〈/head〉
〈frameset〉〈frame src=〃home.html〃〉
〈noframes〉
〈/noframes〉
〈/frameset〉
〈/html〉
在文件home.html的〈head〉和〈/head〉之间加入如下程序:〈script language=〃javascript〃〉function click(){if(event.button==2){
alert(′此功能被禁止!′)}}
document.onmousedown=click
〈/script〉
这样就看不到源文件吗?我本人也不认为看不到。
一篇“用Script Encoder来加密”的文章:----嗯?!html加密?我怎么没听过!听我把话说完,确切的说是你的html中的script加密了吗?html文件是由IE等浏览器解释执行超级文本,其中可以加入javascript或 vbscript语言程序代码。由于html文本是开放的,所以除了html中的文字外,其中执行特殊效果和功能的script代码也是公开的,仅管有些编制script程序的朋友并不想公开源代码也无计可施。用用 script encoder程序吧。---- Script Encoder是Microsoft出品的一个script加密工具,它是一个简单的命令行工具,可以对html文件进行加密,加密后其中的文本部分均保持不变,只是对其中的javascript和VBscript部分进行加密处理,加密后的script在功能上无任何损失,仅是其代码变成密文,用源文件方式查看只是一些乱码。该程序很小只有64K,使用非常很简单,在DOS命令行下执行,也可在windows下带参数运行。该程序除了可对html文件加密外,也可以对asa, asp, cdx,js, sct,vbs文件加密。加密后的文件大小基本无变化。加密后的javascript中原< SCRIPT LANGUAGE="JScript">行,变成< SCRIPT LANGUAGE="JScript.Encode">,VBscript中< SCRIPT LANGUAGE="VBScript.Encode">变成< SCRIPT LANGUAGE="VBScript">----运行:SRCENC [参数]源文件加密后文件,简单的运行可不带参数.----如:srcenc test.htm encode.htm即可将test.htm文件加密为encode.htm。---- screnc*.asp c:\temp将当前目录下所有asp文件加密到c:/temp下。----命令行参数:SCRENC [/s] [/f] [/xl] [/l defLanguage ]
[/e defExtension] inputfile outputfile----/s:运行时不显示详细输出信息。
----/f:用加密文件覆写源文件。因源文件无法复原请慎用。----如:screnc/f test.htm原文件和加密文件均为test.htm。----/l:指定缺省script语言。如在html中未说明script语言属性(JScript or VBScript),可指定script语言。对于.html文件缺省为JScript,.asp文件缺省为VBscript。如:screnc/l vbscript test.htm encode.htm----/e:将screnc不可识别格式文件加密。如:screnc/e asp*.* c:\temp将当前目录下所有文件加密为.asp后缀,并将生成文件到 c:\temp目录下
我这里也有一个我觉得比较好的方法:
<A rel="external nofollow" href="javascript:void(null)" onclick="window.showModalDialog('','scrollbars=yes;resizable=no;help=no;status=no;dialogTop=25; dialogLeft=0;dialogHeight=400px')">点击查看</a>通过这个点击进入的页面中是不能查看其源代码的!但,真正能实现源代码屏蔽的单纯的.htm是不可能的!
vbscript中怎样把gb2312转换为UTF-8编码
有
交易系统采用的UTF-8编码,而一些支持系统使用的是GB2312编码。
不同编码的页面、脚本之间互相引用,就会产生乱码的问题,解决方法就是统一成一种编码。
asp.net中,如果要修改输出页面的编码,可以通过修改web.config中以下配置信息
<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
以上只是修改整体的默认编码,如果只有某个页的编码需要修改,ASP.net中则可以简单的使用下面代码:
注:加到Page_Load()事件下面就可以了
Encoding gb2312= Encoding.GetEncoding("gb2312");
Response.ContentEncoding= gb2312;
在非ASP.net应用中,可能你读到的数据是UTF-8编码,但是你要转换为GB2312编码,则可以参考以下代码:
string utfinfo="document.write(\"alert('你好么??');\");";
string gb2312info= string.Empty;
Encoding utf8= Encoding.UTF8;
Encoding gb2312= Encoding.GetEncoding("gb2312");
// Convert the string into a byte[].
byte[] unicodeBytes= utf8.GetBytes(utfinfo);
// Perform the conversion from one encoding to the other.
byte[] asciiBytes= Encoding.Convert(utf8, gb2312, unicodeBytes);
// Convert the new byte[] into a char[] and then into a string.
// This is a slightly different approach to converting to illustrate
// the use of GetCharCount/GetChars.
char[] asciiChars= new char[gb2312.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
gb2312.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
gb2312info= new string(asciiChars);
当然,其他各种编码之间的转换,跟上述代码也类似的,就不描述了。
VBscript常用函数:
1.数值型函数:
abs(num):返回绝对值
sgn(num): num>0 1; num=0 0; num<0-1;判断数值正负
hex(num):返回十六进制值直接表示:&Hxx最大8位
oct(num):返回八进制值直接表示:&Oxx最大8位
sqr(num):返回平方根 num>0
int(num):取整 int(99.8)=99; int(-99.2)=100
fix(num):取整 fix(99.8)=99; fix(-99.2)=99
round(num,n):四舍五入取小数位 round(3.14159,3)=3.142中点数值四舍五入为近偶取整 round(3.25,1)=3.2
log(num):取以e为底的对数 num>0
exp(n):取e的n次幂通常用 num^n
sin(num):三角函数,以弧度为值计算(角度*Pai)/180=弧度 con(num); tan(num); atn(num)
2.字符串函数:
len(str):计算字符串长度中文字符长度也计为一!
mid(str,起始字符,[读取长度]):截取字符串中间子字符串
left(str,nlen):从左边起截取nlen长度子字符串
right(str,nlen):从右边起截取nlen长度子字符串
Lcase(str):字符串转成小写
Ucase(str):字符串转成大写
trim(str):去除字符串两端空格
Ltrim(str):去除字符串左侧空格
Rtrim(str):去除字符串右侧空格
replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串
注:默认值:起始字符 1;替代次数不限;比较方法区分大小写(0)
InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置
InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串返回起始位置
space(n):构造n个空格的字符串
string(n,str):构造由n个str第一个字符组成的字符串
StrReverse(str):反转字符串
split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选
3.数据类型转换函数:
Cint(str):转换正数 True-1;False 0;日期距离1899/12/31天数;时间上午段 0;下午段 1;
Cstr(str):日期输出格式 yyyy/mm/dd;时间输出格式 Am/Pm hh:mm:ss
Clng(str):与Cin()类似
Cbool(num):num不为零 True;反之 False
Cdate(str):转换日期格式 0:#Am 12:00:00#;正数距离1899/12/31天数的日期;浮点数日期+小数时间
Cbyte(num):num<255转换为字节
Csng(str):转换为单精度数值
Cdbl(str):转换为双精度数值
Ccur(str):转换为现金格式
4.时间函数:
date:取系统当前日期
time:取系统当前时间
now:取系统当前时间及日期值 Datetime类型
timer:取当前时间距离零点秒值,计时器,可计算时间差
DateAdd(间隔单位,间隔值,日期):推算相邻日期
DateDiff(间隔单位,日期一,日期二):计算时间差日期二-日期一
Datepart(间隔单位,日期):计算日期的间隔单位值
Dateserial(date):输出日期值(按序列计算)
Timeserial(time):输出时间值(按序列计算)
DateValue(datetime):取出字符串中日期值
Timevalue(datetime):取出字符串中时间值
weekday(date):计算星期几
MonthName(date):输出月分名
year(datetime):截取年份
month(datetime):截取月份
day(datetime):截取日
hour(datetime):截取小时
minute(datetime):截取分钟
second(datetime):截取秒
5.其它函数:
Array(unit,..):动态生成数组
Asc(str):输出字符串第一个字符的ASCII码
Chr(asc):转换ASCII为字符 Enter:Chr(13)&Chr(10)
Filter(数组名称,关键字符串,[,包含][,比较方法]):
将字符串数组中含有关键字符串的元素存成新的数组(默认) [包含]为false则取不包含的元素
Join(ArrayName):将数组中元素连成字符串
Ubound(ArrayName[,维数]):取得数组相应维数的上界
Lbound(ArrayName[,维数]):取得数组相应维数的下界一般为0
Randmize n:启动随机数种子
Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数
取介于A和B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A)条件(B>A)
6.子程序和自定义函数:
Sub StrSubName Function StrFunName(arg[1],..)
子程序体函数体
Exit Sub中途跳出 Exit Function中途跳出
End Sub StrFunName=Value返回值
End Function
[call] StrSubName引用子程序 Var=StrFunName(arg[1],..)引用函数
子程序和自定义函数可以递归调用;
关于本次vbscript.encode和vbscript中怎样把gb2312转换为UTF-8编码的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。