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 ...
随机推荐
- 一篇文章了解Github和Git教程-AndroidStudio上传Github教程
前言 为了方便保存自己的代码,下班后可以回家继续进行,自己的码农工作,介绍一下Github. 什么是Github呢? 作为一个编程人员,我觉得得了解一下Github吧! 当然,如果你放弃了码农或者技术 ...
- Redis中5种数据结构的使用场景
一.redis 数据结构使用场景 原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 ...
- 父页面内获取获取iframe内的变量或者是获取iframe内的值
前提:页面不可跨域访问,必须同一域名下,否则返回值为空 父页面 <!DOCTYPE html> <html lang="en"> <head> ...
- Mysql 字符串指定位置插入空格
UPDATE flow_data_243 SET data_15=CONCAT(LEFT(data_15,10),' ',RIGHT(data_15,LENGTH(data_15)-10)) WHER ...
- 好程序员分享该如何选择background-image和img标签
好程序员分享该如何选择background-image和img标签,用img标签 如果你希望别人打印页面时候包含这张图片请使用img标签 当这张图片有非常有意义的语义,比如警告图标,请使用img标签及 ...
- nodejs部署方式-pm2
目前Nodejs开发中有很多痛点,其中有一个是修改完代码以后需要我们重启服务才能看到效果.这样一次次的杀进程.重启,杀进程.重启很让人头大.程序员是最痛恨重复工作的物种,之前有了解过的同学可能知道 f ...
- CentOS 7 安装Git
服务器端 1.先从yum安装git yum –y install git 2.在需要的位置创建一个裸仓库(最后以.git结尾) cd /usr/local mkdir git cd git git i ...
- git 学习(4) ----- git rebase
使用git rebase 的前提是多人协作下的分支开发,如果是单人开发,那就没有必要使用它了,这是由git rebase 的作用所决定的,git rebase 有两大作用:一个是与主分支保持同步,一个 ...
- GIt帮助文档之忽略某些文件——忽略python虚拟环境文件夹(转)
前言:为避免多个Python项目下安装库之间的冲突,或为轻松打包某个项目,建议在每个项目文件夹下安装Python虚拟环境,并在虚拟环境内进行操作,之后你安装的任何库和执行的任何程序都是在这个环境下运行 ...
- React多层级表单
因项目需要封装的组件,组件库使用的是Ant Design 用到了 Form组件 , 布局组件,表单控件 ,如果没有使用Ant Design,可以用rc-form代替,需要对组件中使用的表单控件和布局进 ...