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 ...
随机推荐
- springCloud feign使用/优化总结
基于springCloud Dalston.SR3版本 1.当接口参数是多个的时候 需要指定@RequestParam 中的value来明确一下. /** * 用户互扫 * @param uid 被扫 ...
- MySQL, XE7使用FireDAC连接MySQL数据库
发现使用DBExpress进行MySQL连接老是有莫名其妙的问题,直接改为FireDAC 在上一篇的DataSnap服务框架程序中,将连接的数据库由MSSQL改为本文的MySQL 使用的MySQL数据 ...
- 数据库原理 - 序列5 - 事务是如何实现的? - Undo Log解析
本文节选自作者书籍<软件架构设计:大型网站技术架构与业务架构融合之道>.作者微信公众号:架构之道与术.公众号底部菜单有书友群可以加入,与作者和其他读者进行深入讨论.也可以在京东.天猫上购买 ...
- centos7的主机名配置
centos7的主机名配置 方法一:通过配置文件/etc/hostname (重启后生效) 方法二:通过命令hostnamectl set-hostname 新主机名(会自动把主机名改为小写) ...
- SQL Server数据仓库的基础架构规划
问题 SQL Server数据仓库具有自己的特征和行为属性,有别去其他.从这个意义上说,数据仓库基础架构规划需要与标准SQL Server OLTP数据库系统的规划不同.在本文中,我们将介绍在计划数据 ...
- 抽象,接口和Object类
在面向对象的概念中, 所有的对象都是通过类来表述的, 但并不是所有的类都是用来描绘对象的, 如果一个类中么有包含足够的信息来描绘一类具体的对象, 这样的类就是抽象类. 抽象类往往用来表征对问题领域进行 ...
- Python 爬虫 之 阅读呼叫转移(一)
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/jcjc918/article/details/37533073 你是否苦恼于网上无法下载的& ...
- 使用shell快速建立上万个文件夹
#!/bin/bash#!This is a shell script to finish the folders tasks.rm -rf /home/cpay/zyc/filemkdir /hom ...
- Core官方DI解析(4)--CallSiteRuntimeResolver
CallSiteRuntimeResolver类型是一个创建或获取服务实例的类型,这个类型继承了CallSiteVisitor<TArgument, TResult>这个类型,也是使用 ...
- Spring Boot 集成Swagger
Spring Boot 集成Swagger - 小单的博客专栏 - CSDN博客https://blog.csdn.net/catoop/article/details/50668896 Spring ...