爱奇艺登录的密码加密
爱奇艺登录的密码加密,亲自测试过可用函数名 rsaFun
参数密码
var b = b || {};
var a = a || {};
function c(a) {
var b = f,
c = b.biDivideByRadixPower(a, this.k - 1),
d = b.biMultiply(c, this.mu),
e = b.biDivideByRadixPower(d, this.k + 1),
g = b.biModuloByRadixPower(a, this.k + 1),
h = b.biMultiply(e, this.modulus),
i = b.biModuloByRadixPower(h, this.k + 1),
j = b.biSubtract(g, i);
j.isNeg && (j = b.biAdd(j, this.bkplus1));
for (var k = b.biCompare(j, this.modulus) >= 0; k;) j = b.biSubtract(j, this.modulus),
k = b.biCompare(j, this.modulus) >= 0;
return j;
}
function d(a, b) {
var c = f.biMultiply(a, b);
return this.modulo(c);
}
function e(a, b) {
var c = new t;
c.digits = 1;
for (var d = a,
e = b;;) {
if (0 != (1 & e.digits) && (c = this.multiplyMod(c, d)), e = f.biShiftRight(e, 1), 0 == e.digits && 0 == f.biHighIndex(e)) break;
d = this.multiplyMod(d, d);
}
return c;
}
var f, g = {};
"undefined" == typeof g.RSAUtils && (f = g.RSAUtils = {});
var h, k, l, m, n = 16,
o = n,
p = 65536,
q = p >>> 1,
r = p * p,
s = p - 1,
t = g.BigInt = function(a) {
this.digits = "boolean" == typeof a && a === !0 ? null: k.slice(0),
this.isNeg = !1;
};
f.setMaxDigits = function(a) {
h = a,
k = new Array(h);
for (var b = 0; b < k.length; b++) k = 0;
l = new t,
m = new t,
m.digits = 1;
},
f.setMaxDigits(20);
var u = 15;
f.biFromNumber = function(a) {
var b = new t;
b.isNeg = 0 > a,
a = Math.abs(a);
for (var c = 0; a > 0;) b.digits = a & s,
a = Math.floor(a / p);
return b;
};
var v = f.biFromNumber(1e15);
f.biFromDecimal = function(a) {
for (var b, c = "-" == a.charAt(0), d = c ? 1 : 0; d < a.length && "0" == a.charAt(d);)++d;
if (d == a.length) b = new t;
else {
var e = a.length - d,
g = e % u;
for (0 == g && (g = u), b = f.biFromNumber(Number(a.substr(d, g))), d += g; d < a.length;) b = f.biAdd(f.biMultiply(b, v), f.biFromNumber(Number(a.substr(d, u)))),
d += u;
b.isNeg = c;
}
return b;
},
f.biCopy = function(a) {
var b = new t(!0);
return b.digits = a.digits.slice(0),
b.isNeg = a.isNeg,
b;
},
f.reverseStr = function(a) {
for (var b = "",
c = a.length - 1; c > -1; --c) b += a.charAt(c);
return b;
};
var w = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "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"];
f.biToString = function(a, b) {
var c = new t;
c.digits = b;
for (var d = f.biDivideModulo(a, c), e = w.digits]; 1 == f.biCompare(d, l);) d = f.biDivideModulo(d, c),
digit = d.digits,
e += w.digits];
return (a.isNeg ? "-": "") + f.reverseStr(e);
},
f.biToDecimal = function(a) {
var b = new t;
b.digits = 10;
for (var c = f.biDivideModulo(a, b), d = String(c.digits); 1 == f.biCompare(c, l);) c = f.biDivideModulo(c, b),
d += String(c.digits);
return (a.isNeg ? "-": "") + f.reverseStr(d);
};
var x = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
f.digitToHex = function(a) {
var b = 15,
c = "";
for (i = 0; 4 > i; ++i) c += x,
a >>>= 4;
return f.reverseStr(c);
},
f.biToHex = function(a) {
for (var b = "",
c = (f.biHighIndex(a), f.biHighIndex(a)); c > -1; --c) b += f.digitToHex(a.digits);
return b;
},
f.charToHex = function(a) {
var b, c = 48,
d = c + 9,
e = 97,
f = e + 25,
g = 65,
h = 90;
return b = a >= c && d >= a ? a - c: a >= g && h >= a ? 10 + a - g: a >= e && f >= a ? 10 + a - e: 0;
},
f.hexToDigit = function(a) {
for (var b = 0,
c = Math.min(a.length, 4), d = 0; c > d; ++d) b <<= 4,
b |= f.charToHex(a.charCodeAt(d));
return b;
},
f.biFromHex = function(a) {
for (var b = new t,
c = a.length,
d = c,
e = 0; d > 0; d -= 4, ++e) b.digits = f.hexToDigit(a.substr(Math.max(d - 4, 0), Math.min(d, 4)));
return b;
},
f.biFromString = function(a, b) {
var c = "-" == a.charAt(0),
d = c ? 1 : 0,
e = new t,
g = new t;
g.digits = 1;
for (var h = a.length - 1; h >= d; h--) {
var i = a.charCodeAt(h),
j = f.charToHex(i),
k = f.biMultiplyDigit(g, j);
e = f.biAdd(e, k),
g = f.biMultiplyDigit(g, b);
}
return e.isNeg = c,
e;
},
f.biDump = function(a) {
return (a.isNeg ? "-": "") + a.digits.join(" ");
},
f.biAdd = function(a, b) {
var c;
if (a.isNeg != b.isNeg) b.isNeg = !b.isNeg,
c = f.biSubtract(a, b),
b.isNeg = !b.isNeg;
else {
c = new t;
for (var d, e = 0,
g = 0; g < a.digits.length; ++g) d = a.digits + b.digits + e,
c.digits = d % p,
e = Number(d >= p);
c.isNeg = a.isNeg;
}
return c;
},
f.biSubtract = function(a, b) {
var c;
if (a.isNeg != b.isNeg) b.isNeg = !b.isNeg,
c = f.biAdd(a, b),
b.isNeg = !b.isNeg;
else {
c = new t;
var d, e;
e = 0;
for (var g = 0; g < a.digits.length; ++g) d = a.digits - b.digits + e,
c.digits = d % p,
c.digits < 0 && (c.digits += p),
e = 0 - Number(0 > d);
if ( - 1 == e) {
e = 0;
for (var g = 0; g < a.digits.length; ++g) d = 0 - c.digits + e,
c.digits = d % p,
c.digits < 0 && (c.digits += p),
e = 0 - Number(0 > d);
c.isNeg = !a.isNeg;
} else c.isNeg = a.isNeg;
}
return c;
},
f.biHighIndex = function(a) {
for (var b = a.digits.length - 1; b > 0 && 0 == a.digits;)--b;
return b;
},
f.biNumBits = function(a) {
var b, c = f.biHighIndex(a),
d = a.digits,
e = (c + 1) * o;
for (b = e; b > e - o && 0 == (32768 & d); --b) d <<= 1;
return b;
},
f.biMultiply = function(a, b) {
for (var c, d, e, g = new t,
h = f.biHighIndex(a), i = f.biHighIndex(b), k = 0; i >= k; ++k) {
for (c = 0, e = k, j = 0; h >= j; ++j, ++e) d = g.digits + a.digits * b.digits + c,
g.digits = d & s,
c = d >>> n;
g.digits = c;
}
return g.isNeg = a.isNeg != b.isNeg,
g;
},
f.biMultiplyDigit = function(a, b) {
var c, d, e;
result = new t,
c = f.biHighIndex(a),
d = 0;
for (var g = 0; c >= g; ++g) e = result.digits + a.digits * b + d,
result.digits = e & s,
d = e >>> n;
return result.digits = d,
result;
},
f.arrayCopy = function(a, b, c, d, e) {
for (var f = Math.min(b + e, a.length), g = b, h = d; f > g; ++g, ++h) c = a;
};
var y = ;
f.biShiftLeft = function(a, b) {
var c = Math.floor(b / o),
d = new t;
f.arrayCopy(a.digits, 0, d.digits, c, d.digits.length - c);
for (var e = b % o,
g = o - e,
h = d.digits.length - 1,
i = h - 1; h > 0; --h, --i) d.digits = d.digits << e & s | (d.digits & y) >>> g;
return d.digits = d.digits << e & s,
d.isNeg = a.isNeg,
d;
};
var z = ;
f.biShiftRight = function(a, b) {
var c = Math.floor(b / o),
d = new t;
f.arrayCopy(a.digits, c, d.digits, 0, a.digits.length - c);
for (var e = b % o,
g = o - e,
h = 0,
i = h + 1; h < d.digits.length - 1; ++h, ++i) d.digits = d.digits >>> e | (d.digits & z) << g;
return d.digits >>>= e,
d.isNeg = a.isNeg,
d;
},
f.biMultiplyByRadixPower = function(a, b) {
var c = new t;
return f.arrayCopy(a.digits, 0, c.digits, b, c.digits.length - b),
c;
},
f.biDivideByRadixPower = function(a, b) {
var c = new t;
return f.arrayCopy(a.digits, b, c.digits, 0, c.digits.length - b),
c;
},
f.biModuloByRadixPower = function(a, b) {
var c = new t;
return f.arrayCopy(a.digits, 0, c.digits, 0, b),
c;
},
f.biCompare = function(a, b) {
if (a.isNeg != b.isNeg) return 1 - 2 * Number(a.isNeg);
for (var c = a.digits.length - 1; c >= 0; --c) if (a.digits != b.digits) return a.isNeg ? 1 - 2 * Number(a.digits > b.digits) : 1 - 2 * Number(a.digits < b.digits);
return 0;
},
f.biDivideModulo = function(a, b) {
var c, d, e = f.biNumBits(a),
g = f.biNumBits(b),
h = b.isNeg;
if (g > e) return a.isNeg ? (c = f.biCopy(m), c.isNeg = !b.isNeg, a.isNeg = !1, b.isNeg = !1, d = biSubtract(b, a), a.isNeg = !0, b.isNeg = h) : (c = new t, d = f.biCopy(a)),
;
c = new t,
d = a;
for (var i = Math.ceil(g / o) - 1, j = 0; b.digits < q;) b = f.biShiftLeft(b, 1),
++j,
++g,
i = Math.ceil(g / o) - 1;
d = f.biShiftLeft(d, j),
e += j;
for (var k = Math.ceil(e / o) - 1, l = f.biMultiplyByRadixPower(b, k - i); - 1 != f.biCompare(d, l);)++c.digits,
d = f.biSubtract(d, l);
for (var n = k; n > i; --n) {
var u = n >= d.digits.length ? 0 : d.digits,
v = n - 1 >= d.digits.length ? 0 : d.digits,
w = n - 2 >= d.digits.length ? 0 : d.digits,
x = i >= b.digits.length ? 0 : b.digits,
y = i - 1 >= b.digits.length ? 0 : b.digits;
c.digits = u == x ? s: Math.floor((u * p + v) / x);
for (var z = c.digits * (x * p + y), A = u * r + (v * p + w); z > A;)--c.digits,
z = c.digits * (x * p | y),
A = u * p * p + (v * p + w);
l = f.biMultiplyByRadixPower(b, n - i - 1),
d = f.biSubtract(d, f.biMultiplyDigit(l, c.digits)),
d.isNeg && (d = f.biAdd(d, l), --c.digits);
}
return d = f.biShiftRight(d, j),
c.isNeg = a.isNeg != h,
a.isNeg && (c = h ? f.biAdd(c, m) : f.biSubtract(c, m), b = f.biShiftRight(b, j), d = f.biSubtract(b, d)),
0 == d.digits && 0 == f.biHighIndex(d) && (d.isNeg = !1),
;
},
f.biDivide = function(a, b) {
return f.biDivideModulo(a, b);
},
f.biModulo = function(a, b) {
return f.biDivideModulo(a, b);
},
f.biMultiplyMod = function(a, b, c) {
return f.biModulo(f.biMultiply(a, b), c);
},
f.biPow = function(a, b) {
for (var c = m,
d = a;;) {
if (0 != (1 & b) && (c = f.biMultiply(c, d)), b >>= 1, 0 == b) break;
d = f.biMultiply(d, d);
}
return c;
},
f.biPowMod = function(a, b, c) {
for (var d = m,
e = a,
g = b;;) {
if (0 != (1 & g.digits) && (d = f.biMultiplyMod(d, e, c)), g = f.biShiftRight(g, 1), 0 == g.digits && 0 == f.biHighIndex(g)) break;
e = f.biMultiplyMod(e, e, c);
}
return d;
},
g.BarrettMu = function(a) {
this.modulus = f.biCopy(a),
this.k = f.biHighIndex(this.modulus) + 1;
var b = new t;
b.digits = 1,
this.mu = f.biDivide(b, this.modulus),
this.bkplus1 = new t,
this.bkplus1.digits = 1,
this.modulo = c,
this.multiplyMod = d,
this.powMod = e;
};
var A = function(a, b, c) {
var d = f;
this.e = d.biFromHex(a),
this.d = d.biFromHex(b),
this.m = d.biFromHex(c),
this.chunkSize = 2 * d.biHighIndex(this.m),
this.radix = 16,
this.barrett = new g.BarrettMu(this.m);
};
f.getKeyPair = function(a, b, c) {
return new A(a, b, c);
};
g.twoDigit = function(a) {
return (10 > a ? "0": "") + String(a);
};
f.encryptedString = function(a, b) {
for (var c = [], d = b.length, e = 0; d > e;) c = b.charCodeAt(e),
e++;
for (; c.length % a.chunkSize != 0;) c = 0;
var g, h, i, j = c.length,
k = "";
for (e = 0; j > e; e += a.chunkSize) {
for (i = new t, g = 0, h = e; h < e + a.chunkSize; ++g) i.digits = c,
i.digits += c << 8;
var l = a.barrett.powMod(i, a.e),
m = 16 == a.radix ? f.biToHex(l) : f.biToString(l, a.radix);
k += m + " ";
}
return k.substring(0, k.length - 1);
};
f.decryptedString = function(a, b) {
var c, d, e, g = b.split(" "),
h = "";
for (c = 0; c < g.length; ++c) {
var i;
for (i = 16 == a.radix ? f.biFromHex(g) : f.biFromString(g, a.radix), e = a.barrett.powMod(i, a.d), d = 0; d <= f.biHighIndex(e); ++d) h += String.fromCharCode(255 & e.digits, e.digits >> 8);
}
return 0 == h.charCodeAt(h.length - 1) && (h = h.substring(0, h.length - 1)),
h;
};
f.setMaxDigits(130),
b = g;
void 0 == c && (c = b),
b = function() {
return c;
}
function rsaFun(e) {
var t = "ab86b6371b5318aaa1d3c9e612a9f1264f372323c8c0f19875b5fc3b3fd3afcc1e5bec527aa94bfa85bffc157e4245aebda05389a5357b75115ac94f074aefcd",
n = "10001",
a = f.getKeyPair(n, "", t),
i = f.encryptedString(a, encodeURIComponent(e)).replace(/\s/g, "-");
return i;
};
一点一滴 发表于 2016-4-1 20:51
密码是RSA加密 但是关键是sign值 不好搞
恩,那个是动态的,我也没搞定 66666666666666666666666666666666666666666666666666666666666666666666{:4_86:} 这个怎么办,最近在研究这个的密码加密》。。。碰到问题了 密码是RSA加密 但是关键是sign值 不好搞 走上巅峰vdzfgvzdvzxczxv 我擦6666 爱奇艺的加密都破解了 易语言5.5完美破解版 支持一下下下 {:4_86:}{:4_86:}666666666666666666 66666666666666666