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 ...
随机推荐
- webstorm2018.1 汉化
https://github.com/pingfangx/TranslatorX 这个百度云 选择webstorm 选择勾选的文件 选择你下载webstorm 的版本 我下载的是2018.1的 之后等 ...
- python使用rabbitMQ介绍四(路由模式)
一.模式介绍 路由模式,与发布-订阅模式一样,消息发送到exchange中,消费者把队列绑定到exchange上. 这种模式在exchange上添加添加了一个路由键(routing-key),生产者发 ...
- SQL Server系统视图sys.master_files不能正确显示数据库脱机状态
最近发现在SQL Server数据库(目前测试过SQL Server 2008, 2012,2014,2016各个版本)中,即使数据库处于脱机(OFFLINE)状态,但是sys.master_file ...
- ORM初探(一)
Object Relational Mapping(ORM): 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象 ...
- js坚持不懈之16:使用js向HTML元素分配事件
向 button 元素分配 onclick 事件: <!DOCTYPE html> <html> <body> <p>点击按钮就可以执行 <em& ...
- SQL 查询中case的运用
适用场景: 需要根据现有字段经过一定条件得到新的查询字段相关语法: CASE WHEN 条件1 TEHN 结果1 WHEN 条件2 THEN 结果2 ...... ELSE 结果N END 练习代码: ...
- JProfiler的详细使用介绍
转:https://blog.csdn.net/huangjin0507/article/details/52452946 下载软件 官网地址:http://www.ej-technologies.c ...
- Linux内核入门到放弃-页面回收和页交换-《深入Linux内核架构》笔记
概述 可换出页 只有少量几种页可以换出到交换区,对其他页来说,换出到块设备上与之对应的后备存储器即可,如下所述. 类别为 MAP_ANONYMOUS 的页,没有关联到文件,例如,这可能是进程的栈或是使 ...
- 人生第一个过万 Star 的 github 项目诞生
写 Spring Boot 开源项目走入第三个年头,终于有一个开源项目要破万 Star 了,请各位读者大人批评指正. Spring Boot 文章 2016年,我开始学习 Spring Boot 的时 ...
- 随心测试_软测基础_007<软测学习路线建议>
如果你对软测感兴趣,那么如何学习软件测试呢? 贴心小提示:以下内容,仅供参考,不挖坑 1:学习方式_职业教育选择观 ————SX的观点:成本 | 收益说,理性接受 软测产业服务链中,测试工程师重在于& ...