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 ...
随机推荐
- 根据Webservice地址,动态传入参数(Webservice代理类)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sunlib; ...
- EntityFramework Code-First—领域类配置之DataAnnotations
本文出自:https://www.cnblogs.com/tang-tang/p/5510574.html 一.摘要 EF Code-First提供了一个可以用在领域类或其属性上的DataAnnota ...
- dom4j创建和解析xml文档
DOM4J解析 特征: 1.JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能. 2.它使用接口和抽象基本类方法. 3.具有性能优异.灵活性好.功能强大和极端易用的特点. 4.是一个开 ...
- jquery-hide//一段hide代码实现异步隐藏
(本篇博客没有什么参考价值,只用于自己未来复习.) 说白了就是通过“父亲”实现异步 代码: <!DOCTYPE html> <html> <head> <sc ...
- node js 异步运行流程控制模块Async介绍
1.Async介绍 sync是一个流程控制工具包.提供了直接而强大的异步功能.基于Javascript为Node.js设计,同一时候也能够直接在浏览器中使用. Async提供了大约20个函数,包含经常 ...
- ASP.NET MVC 下自定义 ModelState 扩展类,响应给 AJAX
ModelStateExtensions.cs using System.Collections.Generic; using System.Linq; using System.Web.Mvc; n ...
- nginx配置文件详细解读
https://m.w3cschool.cn/nginx/nginx-d1aw28wa.html ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户 ...
- 你注意到 .Net Framework 和 .Net Core 中使用 Session 的区别了吗?
起因 在测试一个例子时发现的问题,这个示例实现的功能是刷新页面也能保持表格锁定列的状态,先看下页面的完成效果: 测试中发现,几乎相同的代码: 在 FineUIMvc(Net Framework)下没有 ...
- C# .NET 0配置使用Wcf(半成品)
设计原则:万物皆对象 背景:微软提供了一套强大的通信框架Wcf,了解请看百度百科:ttps://baike.baidu.com/item/Wcf/7374854?fr=aladdin 虽然这套通信框架 ...
- CountDownLatch、CyclicBarrier和Semaphore基本原理和使用
一.CountDownLatch CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能. 比如有一个任务A,它要等待其他4个任务执行完毕之后才 ...