易语言百度DV算法开源源码

易语言百度DV算法开源源码

   function n(e) {             var t = [[48, 57], [65, 90], [97, 122], [45, 45], [126, 126]]               , n = o(t)               , a = o(t.slice(1));             e && (n = r(n, e),             a = r(a, e)),             this.dict = n,             this.dict2 = a         }         function r(e, t) {             for (var n = t.split(""), r = 0; r < e.length; r++) {                 var o = r % n.length;                 o = n[o].charCodeAt(0),                 o %= e.length;                 var a = e[r];                 e[r] = e[o],                 e[o] = a             }             return e         }         function o(e) {             for (var t = [], n = 0; n < e.length; n++)                 for (var r = e[n][0]; r <= e[n][1]; r++)                     t.push(String.fromCharCode(r));             return t         }         function a(e, t) {             var n = ""               , r = Math.abs(parseInt(e));             if (r)                 for (; r; )                     n += t[r % t.length],                     r = parseInt(r / t.length);             else                 n = t[0];             return n         }     function S(e, t) {             var r = new n(t)               , o = {                 flashInfo: 0,                 mouseDown: 1,                 keyDown: 2,                 mouseMove: 3,                 version: 4,                 loadTime: 5,                 browserInfo: 6,                 token: 7,                 location: 8,                 screenInfo: 9             }               , a = [r.iary([2])];             for (var i in e) {                 var d = e[i];                 if (void 0 !== d && void 0 !== o[i]) {                     var c;                     "number" == typeof d ? (c = d >= 0 ? 1 : 2,                     d = r.int(d)) : "boolean" == typeof d ? (c = 3,                     d = r.int(d ? 1 : 0)) : "object" == typeof d && d instanceof Array ? (c = 4,                     d = r.bary(d)) : (c = 0,                     d = r.str(d + "")),                     d && a.push(r.iary([o[i], c, d.length]) + d)                 }                              }           return a.join("");         } n.prototype = {             "int": function(e) {                 return a(e, this.dict)             },             iary: function(e) {                 for (var t = "", n = 0; n < e.length; n++) {                     var r = a(e[n], this.dict2);                     t += r.length > 1 ? r.length - 2 + r : r                 }                 return t             },             bary: function(e) {                 for (var t = 0, n = {}, r = 0; r < e.length; r++)                     e[r] > t && (t = e[r],                     n[e[r]] = !0);                 var o = parseInt(t / 6);                 o += t % 6 ? 1 : 0;                 for (var a = "", r = 0; o > r; r++) {                     for (var i = 6 * r, d = 0, c = 0; 6 > c; c++)                         n[i] && (d += Math.pow(2, c)),                         i++;                     a += this.dict[d]                 }                 return a             },             str: function(e) {                 for (var t = [], n = 0; n < e.length; n++) {                     var r = e.charCodeAt(n);                     r >= 1 && 127 >= r ? t.push(r) : r > 2047 ? (t.push(224 | r >> 12 & 15),                     t.push(128 | r >> 6 & 63),                     t.push(128 | r >> 0 & 63)) : (t.push(192 | r >> 6 & 31),                     t.push(128 | r >> 0 & 63))                 }                 for (var o = "", n = 0, a = t.length; a > n; ) {                     var i = t[n++];                     if (n >= a) {                         o += this.dict[i >> 2],                         o += this.dict[(3 & i) << 4],                         o += "__";                         break                     }                     var d = t[n++];                     if (n >= a) {                         o += this.dict[i >> 2],                         o += this.dict[(3 & i) << 4 | (240 & d) >> 4],                         o += this.dict[(15 & d) << 2],                         o += "_";                         break                     }                     var c = t[n++];                     o += this.dict[i >> 2],                     o += this.dict[(3 & i) << 4 | (240 & d) >> 4],                     o += this.dict[(15 & d) << 2 | (192 & c) >> 6],                     o += this.dict[63 & c]                 }                 return o             }   }    function d(e) {            var x = e.token + "@" + S(e, e.token);       return x;                 }
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注