H5_0005:JS判断域名和时间有效期的方法
(function () {
var n = {
c: function (t, e) {
//console.log("c");
//把i(15)的d数组转换成字串
for (var i = "", n = 0; n < t.length; n++) i += e[parseInt(t[n])];
return i
},
d: function (t, e) {
if ("" == t) return "";
if (e && "" != e || (e = ""), e = encodeURIComponent(e), null == t || t.length < 8) return "";
if (null == e || e.length <= 0) return "";
for (var i = "", n = 0, s = e.length; n < s; n += 1) i += e.charCodeAt(n).toString();
var a = Math.floor(i.length / 5),
r = parseInt(i.charAt(a) + i.charAt(2 * a) + i.charAt(3 * a) + i.charAt(4 * a) + i.charAt(5 * a)),
o = Math.round(e.length / 2),
h = Math.pow(2, 31) - 1,
l = parseInt(t.substring(t.length - 8, t.length), 16);
for (t = t.substring(0, t.length - 8), i += l; i.length > 10;) {
i = (parseInt(i.substring(0, 10)) + parseInt(i.substring(10, i.length))).toString();
}
i = (r * i + o) % h;
var c = "",
u = "";
for (n = 0, s = t.length; n < s; n += 2) {
c = parseInt(parseInt(t.substring(n, n + 2), 16) ^ Math.floor(i / h * 255)), u += String.fromCharCode(c), i = (r * i + o) % h;
}
return decodeURIComponent(u)
},
t: [
//"des123"
[3, 4, 18, 27, 28, 29],
// eliteboy
[4, 11, 8, 19, 4, 1, 14, 24],
//截至时间 2020-04-12
[27, 31, 34, 32, 32, 33, 32, 30, 30, 27],
//href
[7, 17, 4, 5],
//http
[7, 19, 19, 15],
//www.baidu.com
[22, 22, 22, 37, 1, 0, 8, 3, 20, 37, 2, 14, 12]
],
h: [
//localhost
[11, 14, 2, 0, 11, 7, 14, 18, 19],
//www.elitevboy.com
[22, 22, 22, 37, 4, 11, 8, 19, 4, 21, 1, 14, 24, 37, 2, 14, 12],
//www.esunar.com
[22, 22, 22, 37, 4, 18, 20, 13, 0, 17, 37, 2, 14, 12],
//eliteboy.oss-cn-shenzhen.aliyuncs.com
[4, 11, 8, 19, 4, 1, 14, 24, 37, 14, 18, 18, 36, 2, 13, 36, 18, 7, 4, 13, 25, 7, 4, 13, 37, 0, 11, 8, 24, 20, 13, 2, 18, 37, 2, 14, 12],
//oss.esunar.com
[14, 18, 18, 37, 4, 18, 20, 13, 0, 17, 37, 2, 14, 12],
//oss.elitevboy.com
[14, 18, 18, 37, 4, 11, 8, 19, 4, 21, 1, 14, 24, 37, 2, 14, 12],
//esunar.com
[4, 18, 20, 13, 0, 17, 37, 2, 14, 12],
//3dviewer.cn
[39, 3, 21, 8, 4, 22, 4, 17, 37, 2, 13]
],
l: {
//解码为: 7948800
b: "554282427066f703cb1ba0",
//解码密匙:r。值为: abcdefghijklmnopqrstuvwxyz0123456789-.:
c: "182c1966e448cee893f8c000e9bf7270bacd9a312311f8e3dce2145b76c9181acee3ba158e921d757f05c74982",
//解码为: Date
d: "22358eab05c6fd41",
//解码为: hostname
h: "0cafe5dd6267f0cd04d25925",
//解码为: location
l: "37f3b94c11fa7eac0113d957",
//解码为: 604800
m: "6bc2b53c73aa01df31c7",
//解码为: 1538323200
// 原始 507bbbf23353833d21c0039938d2
t: "507b7bf23353833d21c0039938d2"
}
};
for (var h = n.l,
//数组 c = a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9,-,.,:
c = n.d(h.c, "r").split(""),
u = n.c(n.t[0], c),
//u = "des123",
//eliteboy
d = n.c(n.t[1], c),
//Date
p = n.d(h.d, u),
//location
f = n.d(h.l, u),
//hostname
m = n.d(h.h, u),
//获取当前域名 x
y = this[f],
x = y[m],
//href
z = n.c(n.t[3], c),
//计时起点
_ = Number(n.d(h.t, u)),
//_ = Number(1547136000),
//有效期,只有到了有效期才会出现提示
v = Number(n.d(h.b, u)),
//v = Number(10368000),
//提示前置时间,提示期过了后才会报错
g = Number(n.d(h.m, u)),
//g = Number(950400),
b = this[p],
//获取当前时间
E = Math.round(new b / 1e3),
//到期时间
w = Number(n.c(n.t[2], c)),
S = !1,T = 0;
T < n.h.length; T++) {
//这是跳转到百度去
//, y[z] = n.c(n.t[4], c) + "://" + n.c(n.t[5], c)
n.c(n.h[T], c) === x && E < w && (S = !0);
};
//获取加密字串的方法
var getStr = function (str) {
var jg = [];
for (var z = 0; z < str.length; z++) {
var k = 0;
var t = "\u0031\u0038\u0032\u0063\u0031\u0039\u0036\u0036\u0065\u0034\u0034\u0038\u0063\u0065\u0065\u0038\u0039\u0033\u0066\u0038\u0063\u0030\u0030\u0030\u0065\u0039\u0062\u0066\u0037\u0032\u0037\u0030\u0062\u0061\u0063\u0064\u0039\u0061\u0033\u0031\u0032\u0033\u0031\u0031\u0066\u0038\u0065\u0033\u0064\u0063\u0065\u0032\u0031\u0034\u0035\u0062\u0037\u0036\u0063\u0039\u0031\u0038\u0031\u0061\u0063\u0065\u0065\u0033\u0062\u0061\u0031\u0035\u0038\u0065\u0039\u0032\u0031\u0064\u0037\u0035\u0037\u0066\u0030\u0035\u0063\u0037\u0034\u0039\u0038\u0032";
var e = "r";
if ("" == t) return "";
if (e && "" != e || (e = ""), e = encodeURIComponent(e), null == t || t.length < 8) return "";
if (null == e || e.length <= 0) return "";
for (var i = "", n = 0, s = e.length; n < s; n += 1) i += e.charCodeAt(n).toString();
var a = Math.floor(i.length / 5),
r = parseInt(i.charAt(a) + i.charAt(2 * a) + i.charAt(3 * a) + i.charAt(4 * a) + i.charAt(5 * a)),
o = Math.round(e.length / 2),
h = Math.pow(2, 31) - 1,
l = parseInt(t.substring(t.length - 8, t.length), 16);
for (t = t.substring(0, t.length - 8), i += l; i.length > 10;) {
i = (parseInt(i.substring(0, 10)) + parseInt(i.substring(10, i.length))).toString();
}
i = (r * i + o) % h;
var c = "",
u = "";
for (n = 0, s = t.length; n < s; n += 2) {
c = parseInt(parseInt(t.substring(n, n + 2), 16) ^ Math.floor(i / h * 255)), u += String.fromCharCode(c), i = (r * i + o) % h;
if (str[z] == String.fromCharCode(c)) {
jg[z] = k;
}
k++;
}
}
return jg;
};
// console.log(getStr("http"));
// console.log(getStr("www.baidu.com"));
// console.log(S);
})();
H5_0005:JS判断域名和时间有效期的方法的更多相关文章
- JS判断字符串长度的5个方法
这篇文章主要介绍了JS判断字符串长度的5个方法,并且区分中文和英文,需要的朋友可以参考下 目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: 代码如下: String.pr ...
- js 判断数组包含某值的方法 和 javascript数组扩展indexOf()方法
var questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf ...
- js判断字符是否为空的方法
js判断字符是否为空的方法: //判断字符是否为空的方法 function isEmpty(obj){ if(typeof obj == "undefined" || obj == ...
- js判断IP js判断域名
<html> <head> <script language="javascript" type="text/javascript" ...
- js判断字符是否存在汉字的方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS 判断两个时间的大小(可自由选择精确度:天,小时,分钟,秒)
//可自由选择精确度 如:签到时间:2018-11-07 11:00:00 签退时间:2018-11-07 10:59:59 //判断时间先后 //统一格式 var a = $("#fdtm ...
- js 判断所选时间(或者当前时间)是否在某一时间段用于不同时间段显示不同的客服qq
//qq交谈 var nowtimes= new Date(); var starttimes="16:30"; var endtimes="23:59"; v ...
- js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
var time_range = function (beginTime, endTime, nowTime) { var strb = beginTime.split (":") ...
- js 判断两个时间相差的天数
judgeDay(sDate1, sDate2) { const sDate1 = `${new Date(sDate1).getFullYear()}-${new Date(sDate1).getM ...
随机推荐
- extjs 倒计时
var interval = (new Date(selection[0].data.dealLimitTime).getTime() - new Date().getTime()) / 1000; ...
- Scala之eq,equals,==的区别
一.简介 根据官方API的定义: final def ==(arg0: Any): Boolean The expression x == that is equivalent to if (x eq ...
- rabbitmq之确保消息不丢失
1.背景引入 在使用消息中间件(rabbitmq)时,令开发者最头痛的就是防止消息丢失问题,而消息丢失可能发生的位置主要为三种,分别为(1)消息发送到MQ中消费者消费未成功时突然宕机:(2)消息发送到 ...
- Eclipse里JAR文件的打包和使用
作用:用于封装class.properties文件,是文件封装的最小单元: 包含Java类的普通库.资源(resources).辅助文件(auxiliary files)等. 可以将程 ...
- firewalld防火墙设置
CentOS7/RHEL7系统默认的iptables管理工具是firewalld,不再是以往的iptables-services,命令用起来也是不一样了,当然你也可以选择卸载firewalld,安装i ...
- 基于GDAL库,读取海洋风场数据(.nc格式)c++版
经过这一段时间的对海洋数据的处理,接触了大量的与海洋相关的数据,例如海洋地形.海洋表面温度.盐度.湿度.云场.风场等数据,除了地形数据是grd格式外,其他的都是nc格式的数据.本文将以海洋风场数据为例 ...
- 「技巧」如何快速安装 Sketch 插件
Sketch拥有强大丰富的插件,但是这些插件天各一方,四处查找下载地址非常麻烦.这里提供一个技巧,通过一个入口可以安装各种插件,基本涵盖了市面上所有靠谱的插件. 准备 Sketch54 Runner ...
- Charles(V3.10.1)的抓包以及常见功能的使用
一.Charles的安装 安装都不会,那就不用再往下看了.(*^__^*) 嘻嘻…… 二.HTTP抓包 1.查看电脑IP地址 2.设置手机的HTTP代理 手机连接到同一WiFi下设置HTTP代理: 服 ...
- Socket网络编程(案例)
Socket:套接字 java.net包 1.流式套接字:基于TCP协议的Socket网络编程 工作方式: 1.客户端A连接到服务器: 2.服务器建立连接并把客户端A添加到列表: 3.客户端B.C.. ...
- day13(函数嵌套定义,global,nonlocal关键字,闭包,装饰器)
一,复习 ''' 1.函数对象:函数名 => 存放的是函数的内存地址 1)函数名 - 找到的是函数的内存地址 2)函数名() - 调用函数 => 函数的返回值 eg:fn()() => ...