Last active
July 30, 2018 02:22
-
-
Save acuros/a23fea73272135285c54 to your computer and use it in GitHub Desktop.
Daum Login
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var daumlogin = {}; | |
| var daum = {} | |
| daum.Browser = {ua:'mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.11 (khtml, like gecko) chrome/23.0.1271.95 safari/537.11'} | |
| daum.Event = {} | |
| daum.Event.addOrderEvent = (function () { | |
| var a = {}; | |
| return function (f, e, g, b) { | |
| var h = null, | |
| c, d; | |
| if (!f) { | |
| return | |
| } | |
| h = f; | |
| if (!a[h]) { | |
| a[h] = {} | |
| } | |
| c = a[h]; | |
| if (!c[e]) { | |
| c[e] = [] | |
| } | |
| d = c[e]; | |
| if (d.length < 1) { | |
| daum.Event.addEvent($(h), e, (function (i) { | |
| var j = d; | |
| return function (m) { | |
| for (var l = 0, k = d.length; l < k; l++) { | |
| d[l].call(null, m) | |
| } | |
| } | |
| })()) | |
| } | |
| if (b && b == "first") { | |
| d.unshift(g) | |
| } else { | |
| d.push(g) | |
| } | |
| } | |
| })(); | |
| (function () { | |
| function i(c) { | |
| var p = function (m) { | |
| var x = function (G, r, F, q, s, E) { | |
| while (--E >= 0) { | |
| var t = r * this[G++] + F[q] + s; | |
| s = Math.floor(t / 67108864); | |
| F[q++] = t & 67108863 | |
| } | |
| return s | |
| }; | |
| var n = function (t, M, K, H, q, L) { | |
| var r = M & 32767, | |
| N = M >> 15; | |
| while (--L >= 0) { | |
| var I = this[t] & 32767; | |
| var s = this[t++] >> 15; | |
| var J = N * I + s * r; | |
| I = r * I + ((J & 32767) << 15) + K[H] + (q & 1073741823); | |
| q = (I >>> 30) + (J >>> 15) + N * s + (q >>> 30); | |
| K[H++] = I & 1073741823 | |
| } | |
| return q | |
| }; | |
| var u = function (t, M, K, H, q, L) { | |
| var r = M & 16383, | |
| N = M >> 14; | |
| while (--L >= 0) { | |
| var I = this[t] & 16383; | |
| var s = this[t++] >> 14; | |
| var J = N * I + s * r; | |
| I = r * I + ((J & 16383) << 14) + K[H] + q; | |
| q = (I >> 28) + (J >> 14) + N * s; | |
| K[H++] = I & 268435455 | |
| } | |
| return q | |
| }; | |
| var v = 244837814094590; | |
| var w = ((v & 16777215) == 15715070); | |
| if (true) { | |
| m.prototype.am = n; | |
| m.dbits = 30; | |
| m.log("AM_INIT MODIFICATION SUCCEEDED.") | |
| } else { | |
| if (w && (navigator.appName == "Microsoft Internet Explorer")) { | |
| m.prototype.am = n; | |
| m.dbits = 30 | |
| } else { | |
| if (w && (navigator.appName != "Netscape")) { | |
| m.prototype.am = x; | |
| m.dbits = 26 | |
| } else { | |
| m.prototype.am = u; | |
| m.dbits = 28 | |
| } | |
| } | |
| } | |
| m.BI_FP = 52; | |
| m.DB = m.dbits; | |
| m.DM = (1 << m.DB) - 1; | |
| m.DV = (1 << m.DB); | |
| m.FV = Math.pow(2, m.BI_FP); | |
| m.F1 = m.BI_FP - m.DB; | |
| m.F2 = 2 * m.DB - m.BI_FP | |
| }; | |
| var e = function (m) { | |
| this.m = m; | |
| this.convert = function (n) { | |
| if (n.s < 0 || n.compareTo(this.m) >= 0) { | |
| return n.mod(this.m) | |
| } else { | |
| return n | |
| } | |
| } | |
| }; | |
| e.prototype.revert = function (m) { | |
| return m | |
| }; | |
| e.prototype.reduce = function (m) { | |
| m.divRemTo(this.m, null, m) | |
| }; | |
| e.prototype.mulTo = function (r, m, n) { | |
| r.multiplyTo(m, n); | |
| this.reduce(n) | |
| }; | |
| e.prototype.sqrTo = function (n, m) { | |
| n.squareTo(m); | |
| this.reduce(m) | |
| }; | |
| e.prototype.toString = function () { | |
| return "Classic()" | |
| }; | |
| var d = function (m) { | |
| this.m = m; | |
| this.mp = m.invDigit(); | |
| this.mpl = this.mp & 32767; | |
| this.mph = this.mp >> 15; | |
| this.um = (1 << (a.DB - 15)) - 1; | |
| this.mt2 = 2 * m.t | |
| }; | |
| d.prototype.convert = function (n) { | |
| var m = new a(); | |
| n.abs().dlShiftTo(this.m.t, m); | |
| m.divRemTo(this.m, null, m); | |
| if (n.s < 0 && m.compareTo(a.ZERO) > 0) { | |
| this.m.subTo(m, m) | |
| } | |
| return m | |
| }; | |
| d.prototype.revert = function (n) { | |
| var m = new a(); | |
| n.copyTo(m); | |
| this.reduce(m); | |
| return m | |
| }; | |
| d.prototype.reduce = function (t) { | |
| while (t.t <= this.mt2) { | |
| t[t.t++] = 0 | |
| } | |
| for (var n = 0; n < this.m.t; ++n) { | |
| var s = t[n] & 32767; | |
| var m = (s * this.mpl + (((s * this.mph + (t[n] >> 15) * this.mpl) & this.um) << 15)) & a.DM; | |
| s = n + this.m.t; | |
| t[s] += this.m.am(0, m, t, n, 0, this.m.t); | |
| while (t[s] >= a.DV) { | |
| t[s] -= a.DV; | |
| s++; | |
| t[s]++ | |
| } | |
| } | |
| t.clamp(); | |
| t.drShiftTo(this.m.t, t); | |
| if (t.compareTo(this.m) >= 0) { | |
| t.subTo(this.m, t) | |
| } | |
| }; | |
| d.prototype.sqrTo = function (n, m) { | |
| n.squareTo(m); | |
| this.reduce(m) | |
| }; | |
| d.prototype.mulTo = function (r, m, n) { | |
| r.multiplyTo(m, n); | |
| this.reduce(n) | |
| }; | |
| d.prototype.toString = function () { | |
| return "Montgomery()" | |
| }; | |
| var a = function () { | |
| if (arguments.length == 0) {} else { | |
| if (arguments.length == 1) { | |
| var m = arguments[0]; | |
| var v = typeof m; | |
| if ("number" == v) { | |
| if ((-1 * a.DV <= m) && (m < a.DV)) { | |
| this.fromInt(m) | |
| } else { | |
| this.fromString(m.toString(16), 16) | |
| } | |
| } else { | |
| if ("string" == v) { | |
| this.fromString(m, 10) | |
| } else { | |
| this.fromByteArray(m) | |
| } | |
| } | |
| } else { | |
| if (arguments.length == 2) { | |
| var m = arguments[0]; | |
| var v = typeof m; | |
| var n = arguments[1]; | |
| var w = typeof n; | |
| if ("number" == v) { | |
| this.fromNumber2(m, n) | |
| } else { | |
| if ("string" == v) { | |
| this.fromString(m, n) | |
| } else { | |
| throw "parameter(1) must be either a number or a string. " + v | |
| } | |
| } | |
| } else { | |
| if (arguments.length == 3) { | |
| var m = arguments[0]; | |
| var v = typeof m; | |
| var n = arguments[1]; | |
| var w = typeof n; | |
| var u = arguments[2]; | |
| var x = typeof u; | |
| if ("number" == v) { | |
| this.fromNumber1(m, n, u) | |
| } else { | |
| throw "parameter(1) must be a number. " + v | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }; | |
| a.prototype.className = "BigInteger"; | |
| var o = new Array(); | |
| var b = function () { | |
| var n, m; | |
| n = "0".charCodeAt(0); | |
| for (m = 0; m <= 9; ++m) { | |
| o[n++] = m | |
| } | |
| n = "a".charCodeAt(0); | |
| for (m = 10; m < 36; ++m) { | |
| o[n++] = m | |
| } | |
| n = "A".charCodeAt(0); | |
| for (m = 10; m < 36; ++m) { | |
| o[n++] = m | |
| } | |
| }; | |
| b(); | |
| a.intAt = function (n, r) { | |
| var m = o[n.charCodeAt(r)]; | |
| return (m == null) ? -1 : m | |
| }; | |
| var f = "0123456789abcdefghijklmnopqrstuvwxyz"; | |
| a.int2char = function (m) { | |
| return f.charAt(m) | |
| }; | |
| a.nbits = function (r) { | |
| var m = 1, | |
| n; | |
| if ((n = r >>> 16) != 0) { | |
| r = n; | |
| m += 16 | |
| } | |
| if ((n = r >> 8) != 0) { | |
| r = n; | |
| m += 8 | |
| } | |
| if ((n = r >> 4) != 0) { | |
| r = n; | |
| m += 4 | |
| } | |
| if ((n = r >> 2) != 0) { | |
| r = n; | |
| m += 2 | |
| } | |
| if ((n = r >> 1) != 0) { | |
| r = n; | |
| m += 1 | |
| } | |
| return m | |
| }; | |
| a.prototype.copyTo = function (m) { | |
| for (var n = this.t - 1; n >= 0; --n) { | |
| m[n] = this[n] | |
| } | |
| m.t = this.t; | |
| m.s = this.s | |
| }; | |
| a.prototype.fromInt = function (m) { | |
| this.t = 1; | |
| this.s = (m < 0) ? -1 : 0; | |
| if (m > 0) { | |
| this[0] = m | |
| } else { | |
| if (m < -1) { | |
| this[0] = m + a.DV | |
| } else { | |
| this.t = 0 | |
| } | |
| } | |
| }; | |
| a.prototype.fromString = function (m, y) { | |
| var w; | |
| if (y <= 0) { | |
| throw "bitLength must be larger than 0" | |
| } else { | |
| if (y == 2) { | |
| w = 1 | |
| } else { | |
| if (y == 4) { | |
| w = 2 | |
| } else { | |
| if (y == 8) { | |
| w = 3 | |
| } else { | |
| if (y == 16) { | |
| w = 4 | |
| } else { | |
| if (y == 32) { | |
| w = 5 | |
| } else { | |
| if (y == 256) { | |
| w = 8 | |
| } else { | |
| this.fromRadix(m, y); | |
| return | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| this.t = 0; | |
| this.s = 0; | |
| var n = m.length; | |
| var x = false; | |
| var s = 0; | |
| while (--n >= 0) { | |
| var z = (w == 8) ? m[n] & 255 : a.intAt(m, n); | |
| if (z < 0) { | |
| if (m.charAt(n) == "-") { | |
| x = true | |
| } | |
| continue | |
| } | |
| x = false; | |
| if (s == 0) { | |
| this[this.t++] = z | |
| } else { | |
| if (s + w > a.DB) { | |
| this[this.t - 1] |= (z & ((1 << (a.DB - s)) - 1)) << s; | |
| this[this.t] = (z >> (a.DB - s)); | |
| this.t++ | |
| } else { | |
| this[this.t - 1] |= z << s | |
| } | |
| } | |
| s += w; | |
| if (s >= a.DB) { | |
| s -= a.DB | |
| } | |
| } | |
| if (w == 8 && (m[0] & 128) != 0) { | |
| this.s = -1; | |
| if (s > 0) { | |
| this[this.t - 1] |= ((1 << (a.DB - s)) - 1) << s | |
| } | |
| } | |
| this.clamp(); | |
| if (x) { | |
| a.ZERO.subTo(this, this) | |
| } | |
| }; | |
| a.prototype.fromByteArray = function (m) { | |
| return this.fromString(m, 256) | |
| }; | |
| a.prototype.clamp = function () { | |
| var m = this.s & a.DM; | |
| while (this.t > 0 && this[this.t - 1] == m) { | |
| --this.t | |
| } | |
| }; | |
| a.prototype.toString = function (B) { | |
| if (this.s < 0) { | |
| return "-" + this.negate().toString(B) | |
| } | |
| var A; | |
| if (B == 16) { | |
| A = 4 | |
| } else { | |
| return this.toRadix(B) | |
| } | |
| var y = (1 << A) - 1, | |
| m, C = false, | |
| r = "", | |
| z = this.t; | |
| var n = a.DB - (z * a.DB) % A; | |
| if (z-- > 0) { | |
| if (n < a.DB && (m = this[z] >> n) > 0) { | |
| C = true; | |
| r = a.int2char(m) | |
| } | |
| while (z >= 0) { | |
| if (n < A) { | |
| m = (this[z] & ((1 << n) - 1)) << (A - n); | |
| m |= this[--z] >> (n += a.DB - A) | |
| } else { | |
| m = (this[z] >> (n -= A)) & y; | |
| if (n <= 0) { | |
| n += a.DB; | |
| --z | |
| } | |
| } | |
| if (m > 0) { | |
| C = true | |
| } | |
| if (C) { | |
| r += a.int2char(m) | |
| } | |
| } | |
| } | |
| return C ? r : "0" | |
| }; | |
| a.prototype.negate = function () { | |
| var m = new a(); | |
| a.ZERO.subTo(this, m); | |
| return m | |
| }; | |
| a.prototype.abs = function () { | |
| return (this.s < 0) ? this.negate() : this | |
| }; | |
| a.prototype.compareTo = function (r) { | |
| var m = this.s - r.s; | |
| if (m != 0) { | |
| return m | |
| } | |
| var n = this.t; | |
| m = n - r.t; | |
| if (m != 0) { | |
| return m | |
| } | |
| while (--n >= 0) { | |
| if ((m = this[n] - r[n]) != 0) { | |
| return m | |
| } | |
| } | |
| return 0 | |
| }; | |
| a.prototype.bitLength = function () { | |
| if (this.t <= 0) { | |
| return 0 | |
| } | |
| return a.DB * (this.t - 1) + a.nbits(this[this.t - 1] ^ (this.s & a.DM)) | |
| }; | |
| a.prototype.dlShiftTo = function (m, n) { | |
| var r; | |
| for (r = this.t - 1; r >= 0; --r) { | |
| n[r + m] = this[r] | |
| } | |
| for (r = m - 1; r >= 0; --r) { | |
| n[r] = 0 | |
| } | |
| n.t = this.t + m; | |
| n.s = this.s | |
| }; | |
| a.prototype.drShiftTo = function (m, n) { | |
| for (var r = m; r < this.t; ++r) { | |
| n[r - m] = this[r] | |
| } | |
| n.t = Math.max(this.t - m, 0); | |
| n.s = this.s | |
| }; | |
| a.prototype.lShiftTo = function (m, y) { | |
| var A = m % a.DB; | |
| var B = a.DB - A; | |
| var r = (1 << B) - 1; | |
| var x = Math.floor(m / a.DB), | |
| n = (this.s << A) & a.DM, | |
| z; | |
| for (z = this.t - 1; z >= 0; --z) { | |
| y[z + x + 1] = (this[z] >> B) | n; | |
| n = (this[z] & r) << A | |
| } | |
| for (z = x - 1; z >= 0; --z) { | |
| y[z] = 0 | |
| } | |
| y[x] = n; | |
| y.t = this.t + x + 1; | |
| y.s = this.s; | |
| y.clamp() | |
| }; | |
| a.prototype.rShiftTo = function (m, w) { | |
| w.s = this.s; | |
| var r = Math.floor(m / a.DB); | |
| if (r >= this.t) { | |
| w.t = 0; | |
| return | |
| } | |
| var y = m % a.DB; | |
| var z = a.DB - y; | |
| var n = (1 << y) - 1; | |
| w[0] = this[r] >> y; | |
| for (var x = r + 1; x < this.t; ++x) { | |
| w[x - r - 1] |= (this[x] & n) << z; | |
| w[x - r] = this[x] >> y | |
| } | |
| if (y > 0) { | |
| w[this.t - r - 1] |= (this.s & n) << z | |
| } | |
| w.t = this.t - r; | |
| w.clamp() | |
| }; | |
| a.prototype.subTo = function (u, n) { | |
| var r = 0, | |
| m = 0, | |
| v = Math.min(u.t, this.t); | |
| while (r < v) { | |
| m += this[r] - u[r]; | |
| n[r++] = m & a.DM; | |
| m >>= a.DB | |
| } | |
| if (u.t < this.t) { | |
| m -= u.s; | |
| while (r < this.t) { | |
| m += this[r]; | |
| n[r++] = m & a.DM; | |
| m >>= a.DB | |
| } | |
| m += this.s | |
| } else { | |
| m += this.s; | |
| while (r < u.t) { | |
| m -= u[r]; | |
| n[r++] = m & a.DM; | |
| m >>= a.DB | |
| } | |
| m -= u.s | |
| } | |
| n.s = (m < 0) ? -1 : 0; | |
| if (m < -1) { | |
| n[r++] = a.DV + m | |
| } else { | |
| if (m > 0) { | |
| n[r++] = m | |
| } | |
| } | |
| n.t = r; | |
| n.clamp() | |
| }; | |
| a.prototype.multiplyTo = function (u, n) { | |
| var v = this.abs(), | |
| m = u.abs(); | |
| var r = v.t; | |
| n.t = r + m.t; | |
| while (--r >= 0) { | |
| n[r] = 0 | |
| } | |
| for (r = 0; r < m.t; ++r) { | |
| n[r + v.t] = v.am(0, m[r], n, r, 0, v.t) | |
| } | |
| n.s = 0; | |
| n.clamp(); | |
| if (this.s != u.s) { | |
| a.ZERO.subTo(n, n) | |
| } | |
| }; | |
| a.prototype.squareTo = function (n) { | |
| var t = this.abs(); | |
| var r = n.t = 2 * t.t; | |
| while (--r >= 0) { | |
| n[r] = 0 | |
| } | |
| for (r = 0; r < t.t - 1; ++r) { | |
| var m = t.am(r, t[r], n, 2 * r, 0, 1); | |
| if ((n[r + t.t] += t.am(r + 1, 2 * t[r], n, 2 * r + 1, m, t.t - r - 1)) >= a.DV) { | |
| n[r + t.t] -= a.DV; | |
| n[r + t.t + 1] = 1 | |
| } | |
| } | |
| if (n.t > 0) { | |
| n[n.t - 1] += t.am(r, t[r], n, 2 * r, 0, 1) | |
| } | |
| n.s = 0; | |
| n.clamp() | |
| }; | |
| a.prototype.divRemTo = function (U, t, L) { | |
| var y = U.abs(); | |
| if (y.t <= 0) { | |
| return | |
| } | |
| var n = this.abs(); | |
| if (n.t < y.t) { | |
| if (t != null) { | |
| t.fromInt(0) | |
| } | |
| if (L != null) { | |
| this.copyTo(L) | |
| } | |
| return | |
| } | |
| if (L == null) { | |
| L = new a() | |
| } | |
| var P = new a(), | |
| X = this.s, | |
| V = U.s; | |
| var N = a.DB - a.nbits(y[y.t - 1]); | |
| if (N > 0) { | |
| y.lShiftTo(N, P); | |
| n.lShiftTo(N, L) | |
| } else { | |
| y.copyTo(P); | |
| n.copyTo(L) | |
| } | |
| var S = P.t; | |
| var W = P[S - 1]; | |
| if (W == 0) { | |
| return | |
| } | |
| var T = W * (1 << a.F1) + ((S > 1) ? P[S - 2] >> a.F2 : 0); | |
| var m = a.FV / T, | |
| q = (1 << a.F1) / T, | |
| r = 1 << a.F2; | |
| var O = L.t, | |
| Q = O - S, | |
| M = (t == null) ? new a() : t; | |
| P.dlShiftTo(Q, M); | |
| if (L.compareTo(M) >= 0) { | |
| L[L.t++] = 1; | |
| L.subTo(M, L) | |
| } | |
| a.ONE.dlShiftTo(S, M); | |
| M.subTo(P, P); | |
| while (P.t < S) { | |
| P[P.t++] = 0 | |
| } | |
| while (--Q >= 0) { | |
| var R = (L[--O] == W) ? a.DM : Math.floor(L[O] * m + (L[O - 1] + r) * q); | |
| if ((L[O] += P.am(0, R, L, Q, 0, S)) < R) { | |
| P.dlShiftTo(Q, M); | |
| L.subTo(M, L); | |
| while (L[O] < --R) { | |
| L.subTo(M, L) | |
| } | |
| } | |
| } | |
| if (t != null) { | |
| L.drShiftTo(S, t); | |
| if (X != V) { | |
| a.ZERO.subTo(t, t) | |
| } | |
| } | |
| L.t = S; | |
| L.clamp(); | |
| if (N > 0) { | |
| L.rShiftTo(N, L) | |
| } | |
| if (X < 0) { | |
| a.ZERO.subTo(L, L) | |
| } | |
| }; | |
| a.prototype.mod = function (n) { | |
| var m = new a(); | |
| this.abs().divRemTo(n, null, m); | |
| if (this.s < 0 && m.compareTo(a.ZERO) > 0) { | |
| n.subTo(m, m) | |
| } | |
| return m | |
| }; | |
| a.prototype.invDigit = function () { | |
| if (this.t < 1) { | |
| return 0 | |
| } | |
| var n = this[0]; | |
| if ((n & 1) == 0) { | |
| return 0 | |
| } | |
| var m = n & 3; | |
| m = (m * (2 - (n & 15) * m)) & 15; | |
| m = (m * (2 - (n & 255) * m)) & 255; | |
| m = (m * (2 - (((n & 65535) * m) & 65535))) & 65535; | |
| m = (m * (2 - n * m % a.DV)) % a.DV; | |
| return (m > 0) ? a.DV - m : -m | |
| }; | |
| a.prototype.isEven = function () { | |
| return ((this.t > 0) ? (this[0] & 1) : this.s) == 0 | |
| }; | |
| a.log = function (m) { | |
| return | |
| }; | |
| a.err = function (m) { | |
| trace(m); | |
| return | |
| }; | |
| a.ZERO = new a(0); | |
| a.ONE = new a(1); | |
| p(a); | |
| a.Classic = e; | |
| a.Montgomery = d; | |
| return a | |
| } | |
| function j(c) { | |
| var a = c; | |
| a.prototype.chunkSize = function (e) { | |
| return Math.floor(Math.LN2 * a.DB / Math.log(e)) | |
| }; | |
| a.prototype.fromRadix = function (z, s) { | |
| this.fromInt(0); | |
| var v = this.chunkSize(s); | |
| var u = Math.pow(s, v); | |
| var w = false; | |
| var y = 0; | |
| var e = 0; | |
| for (var x = 0; x < z.length; ++x) { | |
| var f = a.intAt(z, x); | |
| if (f < 0) { | |
| if (z.charAt(x) == "-" && this.signum() == 0) { | |
| w = true | |
| } | |
| continue | |
| } | |
| e = s * e + f; | |
| if (++y >= v) { | |
| this.dMultiply(u); | |
| this.dAddOffset(e, 0); | |
| y = 0; | |
| e = 0 | |
| } | |
| } | |
| if (y > 0) { | |
| this.dMultiply(Math.pow(s, y)); | |
| this.dAddOffset(e, 0) | |
| } | |
| if (w) { | |
| a.ZERO.subTo(this, this) | |
| } | |
| }; | |
| var b = 0; | |
| a.prototype.fromNumber2 = function (p, e) { | |
| var o = new Array(); | |
| var f = p & 7; | |
| o.length = (p >> 3) + 1; | |
| e.nextBytes(o); | |
| if (f > 0) { | |
| o[0] &= ((1 << f) - 1) | |
| } else { | |
| o[0] = 0 | |
| } | |
| this.fromString(o, 256) | |
| }; | |
| a.prototype.equals = function (e) { | |
| return (this.compareTo(e) == 0) | |
| }; | |
| a.prototype.min = function (e) { | |
| return (this.compareTo(e) < 0) ? this : e | |
| }; | |
| a.prototype.max = function (e) { | |
| return (this.compareTo(e) > 0) ? this : e | |
| }; | |
| a.prototype.bitwiseTo = function (e, m, s) { | |
| var t, r, f = Math.min(e.t, this.t); | |
| for (t = 0; t < f; ++t) { | |
| s[t] = m(this[t], e[t]) | |
| } | |
| if (e.t < this.t) { | |
| r = e.s & a.DM; | |
| for (t = f; t < this.t; ++t) { | |
| s[t] = m(this[t], r) | |
| } | |
| s.t = this.t | |
| } else { | |
| r = this.s & a.DM; | |
| for (t = f; t < e.t; ++t) { | |
| s[t] = m(r, e[t]) | |
| } | |
| s.t = e.t | |
| } | |
| s.s = m(this.s, e.s); | |
| s.clamp() | |
| }; | |
| a.op_xor = function (f, e) { | |
| return f ^ e | |
| }; | |
| a.prototype.ope_xor = function (f) { | |
| var e = new a(); | |
| this.bitwiseTo(f, a.op_xor, e); | |
| return e | |
| }; | |
| a.prototype.xor = a.prototype.ope_xor; | |
| a.prototype.addTo = function (e, q) { | |
| var r = 0, | |
| m = 0, | |
| f = Math.min(e.t, this.t); | |
| while (r < f) { | |
| m += this[r] + e[r]; | |
| q[r++] = m & a.DM; | |
| m >>= a.DB | |
| } | |
| if (e.t < this.t) { | |
| m += e.s; | |
| while (r < this.t) { | |
| m += this[r]; | |
| q[r++] = m & a.DM; | |
| m >>= a.DB | |
| } | |
| m += this.s | |
| } else { | |
| m += this.s; | |
| while (r < e.t) { | |
| m += e[r]; | |
| q[r++] = m & a.DM; | |
| m >>= a.DB | |
| } | |
| m += e.s | |
| } | |
| q.s = (m < 0) ? -1 : 0; | |
| if (m > 0) { | |
| q[r++] = m | |
| } else { | |
| if (m < -1) { | |
| q[r++] = a.DV + m | |
| } | |
| } | |
| q.t = r; | |
| q.clamp() | |
| }; | |
| a.prototype.ope_add = function (f) { | |
| var e = new a(); | |
| this.addTo(f, e); | |
| return e | |
| }; | |
| a.prototype.add = a.prototype.ope_add; | |
| a.prototype.ope_subtract = function (f) { | |
| var e = new a(); | |
| this.subTo(f, e); | |
| return e | |
| }; | |
| a.prototype.subtract = a.prototype.ope_subtract; | |
| a.prototype.ope_multiply = function (f) { | |
| var e = new a(); | |
| this.multiplyTo(f, e); | |
| return e | |
| }; | |
| a.prototype.multiply = a.prototype.ope_multiply; | |
| a.prototype.dMultiply = function (e) { | |
| this[this.t] = this.am(0, e - 1, this, 0, 0, this.t); | |
| ++this.t; | |
| this.clamp() | |
| }; | |
| a.prototype.dAddOffset = function (e, f) { | |
| while (this.t <= f) { | |
| this[this.t++] = 0 | |
| } | |
| this[f] += e; | |
| while (this[f] >= a.DV) { | |
| this[f] -= a.DV; | |
| if (++f >= this.t) { | |
| this[this.t++] = 0 | |
| }++this[f] | |
| } | |
| }; | |
| var d = function () { | |
| this.convert = function (e) { | |
| return e | |
| }; | |
| this.revert = function (e) { | |
| return e | |
| }; | |
| this.mulTo = function (n, e, f) { | |
| n.multiplyTo(e, f) | |
| }; | |
| this.sqrTo = function (f, e) { | |
| f.squareTo(e) | |
| } | |
| }; | |
| a.prototype.modPow = function (w, O) { | |
| var I = w.bitLength(), | |
| L, t = new a(1), | |
| e; | |
| if (I <= 0) { | |
| return t | |
| } else { | |
| if (I < 18) { | |
| L = 1 | |
| } else { | |
| if (I < 48) { | |
| L = 3 | |
| } else { | |
| if (I < 144) { | |
| L = 4 | |
| } else { | |
| if (I < 768) { | |
| L = 5 | |
| } else { | |
| L = 6 | |
| } | |
| } | |
| } | |
| } | |
| } | |
| if (I < 8) { | |
| e = new a.Classic(O) | |
| } else { | |
| if (O.isEven()) { | |
| e = new a.Barrett(O) | |
| } else { | |
| e = new a.Montgomery(O) | |
| } | |
| } | |
| var H = new Array(), | |
| m = 3, | |
| r = L - 1, | |
| z = (1 << L) - 1; | |
| H[1] = e.convert(this); | |
| if (L > 1) { | |
| var K = new a(); | |
| e.sqrTo(H[1], K); | |
| while (m <= z) { | |
| H[m] = new a(); | |
| e.mulTo(K, H[m - 2], H[m]); | |
| m += 2 | |
| } | |
| } | |
| var J = w.t - 1, | |
| N, f = true, | |
| n = new a(), | |
| M; | |
| I = a.nbits(w[J]) - 1; | |
| while (J >= 0) { | |
| if (I >= r) { | |
| N = (w[J] >> (I - r)) & z | |
| } else { | |
| N = (w[J] & ((1 << (I + 1)) - 1)) << (r - I); | |
| if (J > 0) { | |
| N |= w[J - 1] >> (a.DB + I - r) | |
| } | |
| } | |
| m = L; | |
| while ((N & 1) == 0) { | |
| N >>= 1; | |
| --m | |
| } | |
| if ((I -= m) < 0) { | |
| I += a.DB; | |
| --J | |
| } | |
| if (f) { | |
| H[N].copyTo(t); | |
| f = false | |
| } else { | |
| while (m > 1) { | |
| e.sqrTo(t, n); | |
| e.sqrTo(n, t); | |
| m -= 2 | |
| } | |
| if (m > 0) { | |
| e.sqrTo(t, n) | |
| } else { | |
| M = t; | |
| t = n; | |
| n = M | |
| } | |
| e.mulTo(n, H[N], t) | |
| } | |
| while (J >= 0 && (w[J] & (1 << I)) == 0) { | |
| e.sqrTo(t, n); | |
| M = t; | |
| t = n; | |
| n = M; | |
| if (--I < 0) { | |
| I = a.DB - 1; | |
| --J | |
| } | |
| } | |
| } | |
| return e.revert(t) | |
| }; | |
| a.NullExp = d | |
| } | |
| function l(b) { | |
| function y(o, p, n, m) { | |
| this.variant = o; | |
| this.shaFunc = p; | |
| this.inputFunc = n; | |
| this.outputFunc = m | |
| } | |
| function e(m) { | |
| return m | |
| } | |
| function z(o) { | |
| var m = o.length << 2; | |
| var q = new Array(m); | |
| for (var n = 0, p = 0; n < o.length && p < q.length;) { | |
| q[p++] = 255 & (o[n] >> 24); | |
| q[p++] = 255 & (o[n] >> 16); | |
| q[p++] = 255 & (o[n] >> 8); | |
| q[p++] = 255 & (o[n] >> 0); | |
| n++ | |
| } | |
| return q | |
| } | |
| function x(q) { | |
| var m = (q.length + 3) >> 2; | |
| var o = new Array(m); | |
| for (var n = 0, p = 0; n < o.length && p < q.length;) { | |
| o[n++] = (p < q.length ? (q[p++] << 24) : 0) | (p < q.length ? (q[p++] << 16) : 0) | (p < q.length ? (q[p++] << 8) : 0) | (p < q.length ? (q[p++]) : 0) | |
| } | |
| return o | |
| } | |
| function A(m) { | |
| return b.str2utf8(m) | |
| } | |
| function v(m) { | |
| return base16_decode(m) | |
| } | |
| function u(m) { | |
| return base64_encode(m) | |
| } | |
| var w = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]; | |
| var a = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"]; | |
| function B(n, o) { | |
| var p = ""; | |
| for (var r = 0; r < n.length; r++) { | |
| var q = n[r]; | |
| for (var m = 28; 0 <= m; m -= 4) { | |
| p += o[(15 & (q >> m))] | |
| } | |
| } | |
| return p | |
| } | |
| function c(m) { | |
| return B(m, a) | |
| } | |
| function d(n, p, q) { | |
| var m = null; | |
| var r = null; | |
| if (p == null) { | |
| m = e | |
| } else { | |
| if (typeof (p) == "function") { | |
| m = p | |
| } else { | |
| switch (p) { | |
| case "BIN": | |
| case "binary": | |
| m = e; | |
| break; | |
| case "STR": | |
| case "STR(UTF8)": | |
| case "string": | |
| m = A; | |
| break; | |
| case "HEX": | |
| case "hex": | |
| m = v; | |
| break; | |
| case "B64": | |
| case "base64": | |
| m = u; | |
| break; | |
| default: | |
| throw "INPUT FORMAT NOT RECOGNIZED" | |
| } | |
| } | |
| } | |
| if (q == null) { | |
| r = z | |
| } else { | |
| if (typeof (q) == "function") { | |
| r = q | |
| } else { | |
| switch (q) { | |
| case "binary": | |
| case "BIN": | |
| r = z; | |
| break; | |
| case "STR": | |
| case "STR(UTF8)": | |
| case "string": | |
| m = ia2str; | |
| case "HEX": | |
| r = ia2hex_upper; | |
| break; | |
| case "hex": | |
| r = c; | |
| break; | |
| case "B64": | |
| case "base64": | |
| r = ia2b64; | |
| break; | |
| default: | |
| throw "OUTPUT FORMAT NOT RECOGNIZED" | |
| } | |
| } | |
| } | |
| var o = null; | |
| switch (n) { | |
| case "SHA-1": | |
| o = b.sha.core.coreSHA1; | |
| break; | |
| case "SHA-224": | |
| o = b.sha.core.coreSHA2; | |
| break; | |
| case "SHA-256": | |
| o = b.sha.core.coreSHA2; | |
| break; | |
| case "SHA-384": | |
| o = b.sha.core.coreSHA2; | |
| break; | |
| case "SHA-512": | |
| o = b.sha.core.coreSHA2; | |
| break; | |
| default: | |
| throw "HASH NOT RECOGNIZED" | |
| } | |
| return new y(n, o, m, r) | |
| } | |
| function f(n) { | |
| var p = this.inputFunc(n); | |
| var q = p.length * 8; | |
| var m = x(p); | |
| var o = this.outputFunc(this.shaFunc(m, q, this.variant)); | |
| return o | |
| } | |
| y.prototype.hash = f; | |
| y.create = d; | |
| return y | |
| } | |
| function g(c) { | |
| var f = function () { | |
| this.i = 0; | |
| this.j = 0; | |
| this.S = new Array() | |
| }; | |
| f.prototype.init = function (m) { | |
| var r, t, s; | |
| for (r = 0; r < 256; ++r) { | |
| this.S[r] = r | |
| } | |
| t = 0; | |
| for (r = 0; r < 256; ++r) { | |
| t = (t + this.S[r] + m[r % m.length]) & 255; | |
| s = this.S[r]; | |
| this.S[r] = this.S[t]; | |
| this.S[t] = s | |
| } | |
| this.i = 0; | |
| this.j = 0 | |
| }; | |
| f.prototype.next = function () { | |
| var m; | |
| this.i = (this.i + 1) & 255; | |
| this.j = (this.j + this.S[this.i]) & 255; | |
| m = this.S[this.i]; | |
| this.S[this.i] = this.S[this.j]; | |
| this.S[this.j] = m; | |
| return this.S[(m + this.S[this.i]) & 255] | |
| }; | |
| f.create = function () { | |
| return new f() | |
| }; | |
| f.rng_psize = 256; | |
| var a = null; | |
| var d = []; | |
| var e = 0; | |
| rng_seed_int = function (m) { | |
| d[e] ^= m & 255; | |
| e++; | |
| d[e] ^= (m >> 8) & 255; | |
| e++; | |
| d[e] ^= (m >> 16) & 255; | |
| e++; | |
| d[e] ^= (m >> 24) & 255; | |
| e++; | |
| if (e >= f.rng_psize) { | |
| e -= f.rng_psize | |
| } | |
| }; | |
| rng_seed_time = function () { | |
| rng_seed_int(new Date().getTime()) | |
| }; | |
| pool_init = function () { | |
| var m; | |
| while (e < f.rng_psize) { | |
| m = Math.floor(65536 * Math.random()); | |
| d[e++] = m >>> 8; | |
| d[e++] = m & 255 | |
| } | |
| e = 0; | |
| rng_seed_time() | |
| }; | |
| var b = function () { | |
| if (a == null) { | |
| rng_seed_time(); | |
| a = f.create(); | |
| a.init(d); | |
| for (e = 0; e < d.length; ++e) { | |
| d[e] = 0 | |
| } | |
| e = 0 | |
| } | |
| return a.next() | |
| }; | |
| var n = function () {}; | |
| n.prototype.nextBytes = function (m) { | |
| for (var p = 0; p < m.length; ++p) { | |
| m[p] = b() | |
| } | |
| }; | |
| pool_init(); | |
| return n | |
| } | |
| function h(f) { | |
| var s = {}; | |
| s.core = {}; | |
| function c(n, m) { | |
| if (m < 32) { | |
| return (n >>> m) | (n << (32 - m)) | |
| } else { | |
| return n | |
| } | |
| } | |
| function v(n, m) { | |
| if (m < 32) { | |
| return n >>> m | |
| } else { | |
| return 0 | |
| } | |
| } | |
| function a(o, m, n) { | |
| return (o & m) ^ (~o & n) | |
| } | |
| function x(o, m, n) { | |
| return (o & m) ^ (o & n) ^ (m & n) | |
| } | |
| function b(m) { | |
| return c(m, 2) ^ c(m, 13) ^ c(m, 22) | |
| } | |
| function e(m) { | |
| return c(m, 6) ^ c(m, 11) ^ c(m, 25) | |
| } | |
| function u(m) { | |
| return c(m, 7) ^ c(m, 18) ^ v(m, 3) | |
| } | |
| function w(m) { | |
| return c(m, 17) ^ c(m, 19) ^ v(m, 10) | |
| } | |
| function t(p, m) { | |
| var n = (p & 65535) + (m & 65535); | |
| var o = (p >>> 16) + (m >>> 16) + (n >>> 16); | |
| return ((o & 65535) << 16) | (n & 65535) | |
| } | |
| function d(ag, aq, al) { | |
| var ap = []; | |
| var n, o, p, q, r, H, K, ab; | |
| var af, ao; | |
| var aw; | |
| var ae, W, an, ai; | |
| var ac, ax, m, ak, at, av, ar, aj; | |
| var ah; | |
| if (al === "SHA-224" || al === "SHA-256") { | |
| ae = 64; | |
| W = ((aq + 1 + 64 >> 9) << 4) + 15; | |
| an = 16; | |
| ai = 1; | |
| aj = Number; | |
| ac = t; | |
| ax = u; | |
| m = w; | |
| ak = b; | |
| at = e; | |
| ar = x; | |
| av = a; | |
| ah = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298]; | |
| if (al === "SHA-224") { | |
| aw = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428] | |
| } else { | |
| aw = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225] | |
| } | |
| } else { | |
| if (al === "SHA-384" || al === "SHA-512") { | |
| ae = 80; | |
| W = ((aq + 1 + 128 >> 10) << 5) + 31; | |
| an = 32; | |
| ai = 2; | |
| aj = Int_64; | |
| ax = gamma0_64; | |
| m = gamma1_64; | |
| ak = sigma0_64; | |
| at = sigma1_64; | |
| ar = maj_64; | |
| av = ch_64; | |
| ah = [new Int_64(1116352408, 3609767458), new Int_64(1899447441, 602891725), new Int_64(3049323471, 3964484399), new Int_64(3921009573, 2173295548), new Int_64(961987163, 4081628472), new Int_64(1508970993, 3053834265), new Int_64(2453635748, 2937671579), new Int_64(2870763221, 3664609560), new Int_64(3624381080, 2734883394), new Int_64(310598401, 1164996542), new Int_64(607225278, 1323610764), new Int_64(1426881987, 3590304994), new Int_64(1925078388, 4068182383), new Int_64(2162078206, 991336113), new Int_64(2614888103, 633803317), new Int_64(3248222580, 3479774868), new Int_64(3835390401, 2666613458), new Int_64(4022224774, 944711139), new Int_64(264347078, 2341262773), new Int_64(604807628, 2007800933), new Int_64(770255983, 1495990901), new Int_64(1249150122, 1856431235), new Int_64(1555081692, 3175218132), new Int_64(1996064986, 2198950837), new Int_64(2554220882, 3999719339), new Int_64(2821834349, 766784016), new Int_64(2952996808, 2566594879), new Int_64(3210313671, 3203337956), new Int_64(3336571891, 1034457026), new Int_64(3584528711, 2466948901), new Int_64(113926993, 3758326383), new Int_64(338241895, 168717936), new Int_64(666307205, 1188179964), new Int_64(773529912, 1546045734), new Int_64(1294757372, 1522805485), new Int_64(1396182291, 2643833823), new Int_64(1695183700, 2343527390), new Int_64(1986661051, 1014477480), new Int_64(2177026350, 1206759142), new Int_64(2456956037, 344077627), new Int_64(2730485921, 1290863460), new Int_64(2820302411, 3158454273), new Int_64(3259730800, 3505952657), new Int_64(3345764771, 106217008), new Int_64(3516065817, 3606008344), new Int_64(3600352804, 1432725776), new Int_64(4094571909, 1467031594), new Int_64(275423344, 851169720), new Int_64(430227734, 3100823752), new Int_64(506948616, 1363258195), new Int_64(659060556, 3750685593), new Int_64(883997877, 3785050280), new Int_64(958139571, 3318307427), new Int_64(1322822218, 3812723403), new Int_64(1537002063, 2003034995), new Int_64(1747873779, 3602036899), new Int_64(1955562222, 1575990012), new Int_64(2024104815, 1125592928), new Int_64(2227730452, 2716904306), new Int_64(2361852424, 442776044), new Int_64(2428436474, 593698344), new Int_64(2756734187, 3733110249), new Int_64(3204031479, 2999351573), new Int_64(3329325298, 3815920427), new Int_64(3391569614, 3928383900), new Int_64(3515267271, 566280711), new Int_64(3940187606, 3454069534), new Int_64(4118630271, 4000239992), new Int_64(116418474, 1914138554), new Int_64(174292421, 2731055270), new Int_64(289380356, 3203993006), new Int_64(460393269, 320620315), new Int_64(685471733, 587496836), new Int_64(852142971, 1086792851), new Int_64(1017036298, 365543100), new Int_64(1126000580, 2618297676), new Int_64(1288033470, 3409855158), new Int_64(1501505948, 4234509866), new Int_64(1607167915, 987167468), new Int_64(1816402316, 1246189591)]; | |
| if (al === "SHA-384") { | |
| aw = [new Int_64(3418070365, 3238371032), new Int_64(1654270250, 914150663), new Int_64(2438529370, 812702999), new Int_64(355462360, 4144912697), new Int_64(1731405415, 4290775857), new Int_64(41048885895, 1750603025), new Int_64(3675008525, 1694076839), new Int_64(1203062813, 3204075428)] | |
| } else { | |
| aw = [new Int_64(1779033703, 4089235720), new Int_64(3144134277, 2227873595), new Int_64(1013904242, 4271175723), new Int_64(2773480762, 1595750129), new Int_64(1359893119, 2917565137), new Int_64(2600822924, 725511199), new Int_64(528734635, 4215389547), new Int_64(1541459225, 327033209)] | |
| } | |
| } | |
| } | |
| ag[aq >> 5] |= 128 << (24 - aq % 32); | |
| ag[W] = aq; | |
| var am = ag.length; | |
| for (var ad = 0; ad < am; ad += an) { | |
| n = aw[0]; | |
| o = aw[1]; | |
| p = aw[2]; | |
| q = aw[3]; | |
| r = aw[4]; | |
| H = aw[5]; | |
| K = aw[6]; | |
| ab = aw[7]; | |
| for (var au = 0; au < ae; au++) { | |
| if (au < 16) { | |
| ap[au] = new aj(ag[au * ai + ad], ag[au * ai + ad + 1]) | |
| } else { | |
| ap[au] = ac(ac(ac(m(ap[au - 2]), ap[au - 7]), ax(ap[au - 15])), ap[au - 16]) | |
| } | |
| af = ac(ac(ac(ac(ab, at(r)), av(r, H, K)), ah[au]), ap[au]); | |
| ao = ac(ak(n), ar(n, o, p)); | |
| ab = K; | |
| K = H; | |
| H = r; | |
| r = ac(q, af); | |
| q = p; | |
| p = o; | |
| o = n; | |
| n = ac(af, ao) | |
| } | |
| aw[0] = ac(n, aw[0]); | |
| aw[1] = ac(o, aw[1]); | |
| aw[2] = ac(p, aw[2]); | |
| aw[3] = ac(q, aw[3]); | |
| aw[4] = ac(r, aw[4]); | |
| aw[5] = ac(H, aw[5]); | |
| aw[6] = ac(K, aw[6]); | |
| aw[7] = ac(ab, aw[7]) | |
| } | |
| switch (al) { | |
| case "SHA-224": | |
| return [aw[0], aw[1], aw[2], aw[3], aw[4], aw[5], aw[6]]; | |
| case "SHA-256": | |
| return aw; | |
| case "SHA-384": | |
| return [aw[0].highOrder, aw[0].lowOrder, aw[1].highOrder, aw[1].lowOrder, aw[2].highOrder, aw[2].lowOrder, aw[3].highOrder, aw[3].lowOrder, aw[4].highOrder, aw[4].lowOrder, aw[5].highOrder, aw[5].lowOrder]; | |
| case "SHA-512": | |
| return [aw[0].highOrder, aw[0].lowOrder, aw[1].highOrder, aw[1].lowOrder, aw[2].highOrder, aw[2].lowOrder, aw[3].highOrder, aw[3].lowOrder, aw[4].highOrder, aw[4].lowOrder, aw[5].highOrder, aw[5].lowOrder, aw[6].highOrder, aw[6].lowOrder, aw[7].highOrder, aw[7].lowOrder]; | |
| default: | |
| return [] | |
| } | |
| } | |
| s.core.coreSHA2 = d; | |
| return s | |
| } | |
| function k(a) { | |
| function b(q) { | |
| var e = []; | |
| var c = q.length; | |
| var f = 0; | |
| for (var d = 0; d < c; d++) { | |
| var p = q.charCodeAt(d); | |
| if (p <= 127) { | |
| e[f++] = p | |
| } else { | |
| if (p <= 2047) { | |
| e[f++] = B11000000 | (B00011111 & (p >>> 6)); | |
| e[f++] = B10000000 | (B00111111 & (p >>> 0)) | |
| } else { | |
| if (p <= 65535) { | |
| e[f++] = B11100000 | (B00001111 & (p >>> 12)); | |
| e[f++] = B10000000 | (B00111111 & (p >>> 6)); | |
| e[f++] = B10000000 | (B00111111 & (p >>> 0)) | |
| } else { | |
| if (p <= 1114111) { | |
| e[f++] = B11110000 | (B00000111 & (p >>> 18)); | |
| e[f++] = B10000000 | (B00111111 & (p >>> 12)); | |
| e[f++] = B10000000 | (B00111111 & (p >>> 6)); | |
| e[f++] = B10000000 | (B00111111 & (p >>> 0)) | |
| } else { | |
| throw "error" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| return e | |
| } | |
| a.str2utf8 = b | |
| } | |
| daumlogin.crypto = {}; | |
| daumlogin.crypto.BigInteger = i(daumlogin.crypto); | |
| j(daumlogin.crypto.BigInteger); | |
| k(daumlogin.crypto); | |
| daumlogin.crypto.sha = h(daumlogin.crypto); | |
| daumlogin.crypto.SHA = l(daumlogin.crypto); | |
| daumlogin.crypto.SecureRandom = g(daumlogin.crypto) | |
| })(); | |
| daumlogin.srp = (function () { | |
| var u = daumlogin.crypto.BigInteger, | |
| b = daumlogin.crypto.SHA, | |
| A = daumlogin.crypto.SecureRandom, | |
| z = b.create("SHA-256", "string", "hex"); | |
| var i = new u("115b8b692e0e045692cf280b436735c77a5a9e8a9e7ed56c965f87db5b2a2ece3", 16), | |
| v = new u("2"), | |
| a = new A(); | |
| var w = { | |
| FORMID: "loginForm", | |
| USERID: "id", | |
| INPUTPWD: "inputPwd", | |
| SYNCPWD: "syncPwd" | |
| }, f = { | |
| DEFAULT: "https://logins.daum.net/accounts/login.do", | |
| mDEFAULT: "https://logins.daum.net/accounts/mobile.do", | |
| mobile: "https://logins.daum.net/accounts/msrp.do", | |
| SRP: "https://logins.daum.net/accounts/srp.do", | |
| NOSRP: "", | |
| PRESRP: "http://login.daum.net/accounts/presrp.do", | |
| HTTP: "http://login.daum.net/accounts/presrp.do", | |
| NOCOOKIE: "https://logins.daum.net/accounts/invalidcookieguide", | |
| mNOCOOKIE: "https://logins.daum.net/accounts/invalidcookieguidemobile" | |
| }, x = {}, B = { | |
| timeout: 3000 | |
| }, c = false, | |
| m; | |
| function l() { | |
| var C = ""; | |
| for (var g = 0; g < arguments.length; g++) { | |
| if (arguments[g] instanceof u) { | |
| C += arguments[g].toString(16) | |
| } else { | |
| C += arguments[g] | |
| } | |
| } | |
| return new u(z.hash(C), 16) | |
| } | |
| function p() { | |
| var C = 'https://logins.daum.net/accounts/login.do';//$(w.FORMID).action; | |
| var g = (C.indexOf("mobile") > -1) ? f.mDEFAULT : f.DEFAULT; | |
| if (g.indexOf("?") > -1) { | |
| var D = g.split("?"); | |
| g = D[0] | |
| } | |
| return g | |
| } | |
| function t(D) { | |
| var C, g = []; | |
| for (C in D) { | |
| if (C.hasOwnProperty && D[C]) { | |
| g.push(C + "=" + D[C]) | |
| } | |
| } | |
| return g.length > 0 ? g.join("&") : null | |
| } | |
| function e() { | |
| x.slogin = (daumlogin.slevel) ? daumlogin.slevel.getLevel() : "0"; | |
| B.id='YOURID';// B.id = $(w.USERID).value; | |
| B.pw='YOURPW';//B.pw = (x.slogin == 3) ? $(w.SYNCPWD).value : $(w.INPUTPWD).value | |
| } | |
| function j() { | |
| f.NOSRP = p(); | |
| if (f.NOSRP.indexOf("mobile") > -1) { | |
| f.SRP = f.mobile; | |
| f.NOCOOKIE = f.mNOCOOKIE | |
| } | |
| } | |
| function y() { | |
| var C = new u(16, a), | |
| g = v.modPow(C, i), | |
| F = t({ | |
| id: B.id, | |
| srpla: g.toString(16) | |
| }), | |
| E = new Date().getTime(), | |
| D = f.PRESRP + "?" + F; | |
| URL = D; | |
| Acuros = {q:q, g:g, C:C}; | |
| /*daum.load(D, function () { | |
| s(E, g, C) | |
| });*/ | |
| //m = setTimeout(d, 10000) | |
| } | |
| function d() { | |
| m = null; | |
| if (x.slogin == 3) { | |
| $(w.SYNCPWD).value = "" | |
| } else { | |
| $(w.INPUTPWD).value = "" | |
| } | |
| r("NOSRP") | |
| } | |
| function s(E, g, C) { | |
| if (!m) { | |
| return | |
| } | |
| //clearTimeout(m); | |
| var D = new Date().getTime() - E; | |
| if (D < 0) { | |
| d(); | |
| return | |
| } | |
| switch (result.rescode) { | |
| case "200": | |
| k(result, g, C); | |
| return; | |
| case "201": | |
| r("NOSRP"); | |
| return; | |
| case "400": | |
| n(result); | |
| return; | |
| case "500": | |
| n(result); | |
| return; | |
| default: | |
| n(result); | |
| return | |
| } | |
| } | |
| function n(g) { | |
| c = false; | |
| if (g.redirect) { | |
| document.location.replace(g.redirect) | |
| } else { | |
| r("NOSRP") | |
| } | |
| } | |
| function k(E, C, D) { | |
| var g = q(E, C, D); | |
| if (g == false || g.time > B.timeout) { | |
| x.nosrp = "1"; | |
| r("NOSRP") | |
| } else { | |
| x.rid = E.rid; | |
| x.srplm1 = g.key; | |
| if ($(w.SYNCPWD)) { | |
| $(w.SYNCPWD).value = "" | |
| } | |
| $(w.INPUTPWD).value = ""; | |
| r("SRP") | |
| } | |
| } | |
| function q(Q, F, L) { | |
| var E = new Date().getTime(), | |
| M, H; | |
| if (B.pw.indexOf("��") > -1) { | |
| B.pw = B.pw.replace("��", escape("��")) | |
| } | |
| var P = new u(Q.srpss, 16), | |
| D = new u(Q.srplb, 16), | |
| G = l(i, v), | |
| N = l(F, D), | |
| K = l(P, B.pw), | |
| g = G.multiply(v.modPow(K, i)), | |
| I = D.subtract(g), | |
| C = N.multiply(K), | |
| J, O; | |
| if (new Date().getTime() - E > B.timeout / 3) { | |
| return false | |
| } | |
| J = I.modPow(L.add(C), i); | |
| O = l(J); | |
| M = l(l(i).xor(l(v)), l(B.id), P, F, D, O).toString(16); | |
| H = new Date().getTime() - E; | |
| return { | |
| time: H, | |
| key: M | |
| } | |
| } | |
| function r(C) { | |
| var g = $(w.FORMID); | |
| g.action = f[C] + "?" + t(x); | |
| c = false; | |
| g.submit() | |
| } | |
| function h() { | |
| var C = arguments; | |
| for (var D = 0; D < C.length; D++) { | |
| var g = C[D]; | |
| if (daum.String.isEmpty(g.value)) { | |
| g.focus(); | |
| return false | |
| } | |
| } | |
| return true | |
| } | |
| function o() { | |
| daum.Browser.setCookie("dummyCookie", "true", 1); | |
| if (daum.Browser.getCookie("dummyCookie")) { | |
| daum.Browser.setCookie("dummyCookie", "true", -1); | |
| return true | |
| } | |
| return false | |
| } | |
| return { | |
| init: function (g) { | |
| j();/* | |
| daum.Event.addOrderEvent($(w.FORMID), "submit", function (C) { | |
| daum.Event.preventDefault(C); | |
| if (!o()) { | |
| document.location.href = f.NOCOOKIE; | |
| return | |
| } | |
| if (g && !h($(w.USERID), $(w.INPUTPWD))) { | |
| return | |
| } | |
| if (!c) { | |
| c = true; | |
| m = null; | |
| x = {}; | |
| e(); | |
| y() | |
| } | |
| })*/ | |
| e(); | |
| y(); | |
| } | |
| } | |
| })(); | |
| daumlogin.slevel = (function () { | |
| var r = {}, p, a, l, k = "on", | |
| m = daum.Browser.ua, | |
| c = (m.indexOf("iphone") !== -1 || m.indexOf("ipad") !== -1 || m.indexOf("android") !== -1) ? true : false, | |
| f = { | |
| SECURITY_POPUP: "https://logins.daum.net/accounts/authsetup.do", | |
| LOGIN_URL: "https://logins.daum.net/accounts/login.do", | |
| MKD_POPUP: { | |
| HTTP: "http://top-sc.daum.net/ahnlab/p-mfmk.html", | |
| HTTPS: "https://logins.daum.net/ahnlab/p-mfmk_ssl.html" | |
| } | |
| }, o = { | |
| LABEL1: "lbSecurityLevel1", | |
| LABEL2: "lbSecurityLevel2", | |
| LABEL3: "lbSecurityLevel3", | |
| CURRENT_LEVEL: "currentLevel", | |
| INPUTPWD: "inputPwd", | |
| SYNCPWD: "syncPwd", | |
| FORM: "loginForm" | |
| }; | |
| function n() { | |
| if (c) { | |
| l = 1; | |
| return true | |
| } | |
| } | |
| function h(u) { | |
| var t = $(u); | |
| var s = $(t.htmlFor); | |
| r[s.id] = t; | |
| r[s.value] = s; | |
| if (r[s.value].hasEvent !== true) { | |
| daum.addEvent(s, "click", function (v) { | |
| if (s.value == 3) { | |
| k = "on" | |
| } | |
| g(s) | |
| }); | |
| r[s.value].hasEvent = true | |
| } | |
| } | |
| function g(u) { | |
| l = u.value; | |
| try { | |
| if (n() && u.value != 1) { | |
| e(r[1]); | |
| alert("�대떦 釉뚮씪�곗 �뿉�쒕뒗 蹂댁븞 1�④퀎 濡쒓렇�몃쭔 媛�뒫�⑸땲��."); | |
| return | |
| } | |
| if ($(p.htmlFor).value == 3 && u.value != 3) { | |
| if (typeof daumlogin.Ahn.stopAhn == "function") { | |
| daumlogin.Ahn.stopAhn() | |
| } else { | |
| alert("�댄궧李⑤떒 �쒕퉬�ㅻ� 醫낅즺�섎젮硫�, 濡쒓렇�� �� 釉뚮씪�곗 �� 紐⑤몢 �リ퀬 �ㅼ떆 �묒냽�댁<�몄슂.") | |
| } | |
| } | |
| if (u.value == 3) { | |
| var s = daumlogin.Ahn.checkState(u, $(p.htmlFor)); | |
| if (s === "NOTSUPPORT") { | |
| l = 2; | |
| e(r[2]); | |
| return false | |
| } else { | |
| if (s === true) { | |
| if (k == "off") { | |
| daumlogin.Ahn.runAhn(u, startMK) | |
| } else { | |
| daumlogin.Ahn.runAhn(u, daumlogin.Ahn.createPopup(f.MKD_POPUP[a])) | |
| } | |
| if (!b()) { | |
| q(); | |
| daum.Event.addOrderEvent($(o.FORM), "submit", function (v) { | |
| daumlogin.Ahn.BeforeSubmit(v, l) | |
| }, "first") | |
| } | |
| } | |
| } | |
| } | |
| e(u) | |
| } catch (t) { | |
| throw t | |
| } | |
| } | |
| function q() { | |
| $(o.INPUTPWD).name = "enpw"; | |
| var s = document.createElement("input"); | |
| s.type = "hidden"; | |
| s.name = "pw"; | |
| s.id = o.SYNCPWD; | |
| $(o.INPUTPWD).parentNode.appendChild(s) | |
| } | |
| function e(s) { | |
| p.className = "off"; | |
| p = r[s.id]; | |
| p.className = "on"; | |
| s.checked = true; | |
| $(o.CURRENT_LEVEL).innerHTML = p.innerHTML; | |
| $(o.CURRENT_LEVEL).className = o.CURRENT_LEVEL + s.value | |
| } | |
| function d() { | |
| try { | |
| p = $(o.LABEL2); | |
| h(o.LABEL1); | |
| h(o.LABEL2); | |
| h(o.LABEL3); | |
| g($(r[l])); | |
| daum.addEvent($(o.CURRENT_LEVEL), "click", i); | |
| daum.Event.addOrderEvent($(o.FORM), "submit", j); | |
| return true | |
| } catch (s) { | |
| return false | |
| } | |
| } | |
| function j() { | |
| $(o.FORM).action = f.LOGIN_URL + "?slogin=" + l | |
| } | |
| function b() { | |
| return $(o.SYNCPWD) | |
| } | |
| function i(s) { | |
| var s = s || window.event; | |
| s.returnValue = false; | |
| if (s.preventDefault) { | |
| s.preventDefault() | |
| } | |
| window.open(f.SECURITY_POPUP, "daumSecurityPopup", "width=516,height=680,resizable=yes") | |
| } | |
| return { | |
| init: function () { | |
| try { | |
| var s = true; | |
| var t = daum.Browser.getCookie("SLOGIN"); | |
| a = this.isHttps() == true ? "HTTPS" : "HTTP"; | |
| l = (t >= 1 && t <= 3) ? t : 2; | |
| n(); | |
| k = (t == 3) ? "off" : "on"; | |
| if ($(o.FORM).className.indexOf("no_level") < 0) { | |
| this.init = d; | |
| s = this.init() | |
| } | |
| return s | |
| } catch (u) { | |
| return false | |
| } | |
| }, | |
| isHttps: function () { | |
| return window.location.protocol == "https:" ? true : false | |
| }, | |
| setLevel: function (s) { | |
| e(s); | |
| l = s.value; | |
| j() | |
| }, | |
| getMode: function () { | |
| return k | |
| }, | |
| getLevel: function () { | |
| return l | |
| } | |
| } | |
| })(); | |
| daumlogin.Ahn = { | |
| checkState: function (c, e) { | |
| var b = false; | |
| if (navigator.platform == "Win32") { | |
| var d = navigator.appVersion.indexOf("MSIE"); | |
| var a = parseInt(navigator.appVersion.substring(d + 5, d + 8).split(".")[0], 10); | |
| if (a >= 5) { | |
| b = true | |
| } | |
| } | |
| if (b) { | |
| if ((!runFirewallInstall()) && e.value == 3) { | |
| alert("�댄궧李⑤떒 �쒕퉬�ㅺ� �대� �ㅽ뻾以묒엯�덈떎."); | |
| return false | |
| } | |
| } else { | |
| alert("�꾩옱 釉뚮씪�곗 �뿉�쒕뒗 �댁슜� �� �놁뒿�덈떎.\n蹂댁븞3�④퀎�� Internet Explorer�먯꽌 �댁슜 媛�뒫�⑸땲��."); | |
| return "NOTSUPPORT" | |
| } | |
| return true | |
| }, | |
| createPopup: function (e) { | |
| var a = 524; | |
| var f = 470; | |
| f += 16; | |
| a += 16; | |
| var b = (screen.availWidth - a) / 2; | |
| var c = (screen.availHeight - f) / 2; | |
| var d = ",left=" + b + ",top=" + c; | |
| document.domain = "daum.net"; | |
| window.open(e, "install_activex", "toolbar=no,menubar=no,scrollbars=no,status=no,width=524,height=470" + d) | |
| }, | |
| runAhn: function (a, b) { | |
| var c = { | |
| ahnlab_AosMgr_js: { | |
| HTTP: "http://ahnlabdownload.nefficient.co.kr/aos/plugin/aosmgr_common.js", | |
| HTTPS: "https://secwebclinic.ahnlab.com/aos/plugin/aosmgr_common.js" | |
| } | |
| }; | |
| if (!runFirewallInstall() && b) { | |
| b() | |
| } else { | |
| if (daumlogin.slevel.isHttps() === true) { | |
| daum.load(c.ahnlab_AosMgr_js.HTTPS, b) | |
| } else { | |
| daum.load(c.ahnlab_AosMgr_js.HTTP, b) | |
| } | |
| } | |
| }, | |
| stopAhn: function () { | |
| if (typeof aos_stop === "function") { | |
| aos_stop() | |
| } | |
| }, | |
| BeforeSubmit: function (d, c) { | |
| var a = document.getElementById("syncPwd"); | |
| var b = document.getElementById("inputPwd"); | |
| try { | |
| if (_mkd_loaded() == false || c != 3) { | |
| a.value = b.value | |
| } else { | |
| a.value = aos_get_text2(b) | |
| } | |
| } catch (d) { | |
| a.value = b.value | |
| } | |
| return true | |
| } | |
| }; | |
| function runFirewallInstall() { | |
| try { | |
| if (aos_loaded() == true) { | |
| return false | |
| } | |
| } catch (a) {} | |
| return true | |
| } | |
| function startMK() { | |
| try { | |
| var c = (daumlogin.slevel.getMode() == "off") ? false : true; | |
| if (aos_loaded() == false || _mkd_loaded() == false) { | |
| aos_set_subclsid("40", "59B0298B-A7B5-4045-A34E-377EDF7BCB8E"); | |
| aos_set_submimetype("40", "application/ahnlab/asp/npmkd25aos"); | |
| aos_set_option("uimode", c); | |
| aos_set_option("asyncmode", true); | |
| aos_write_object(); | |
| var f = document.getElementById("loginForm"); | |
| var b = document.getElementById("id"); | |
| var a = document.getElementById("inputPwd"); | |
| if (f && b && a) { | |
| if (!a.value && !b.value) { | |
| setTimeout(function () { | |
| b.focus() | |
| }, 500) | |
| } else { | |
| a.value = ""; | |
| setTimeout(function () { | |
| a.focus() | |
| }, 500) | |
| } | |
| } | |
| } | |
| aos_set_authinfo("aosmgr_daum.html"); | |
| aos_start_ex(); | |
| return true | |
| } catch (d) {} | |
| } | |
| daumlogin.slevel.init(); | |
| daumlogin.srp.init(true); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # -*-coding:utf8-*- | |
| import httplib | |
| import urllib | |
| import spidermonkey | |
| uid = 'YOURID' | |
| upw = 'YOURPW' | |
| f = file('daum.js', 'r') | |
| js = f.read() | |
| f.close() | |
| js = js.replace('YOURID', uid).replace('YOURPW', upw) | |
| rt = spidermonkey.Runtime() | |
| cx = rt.new_context() | |
| cx.execute(js) | |
| url = cx.execute('URL') | |
| f = urllib.urlopen(url) | |
| result = f.read() | |
| f.close() | |
| cx.execute(result) | |
| get_params = urllib.urlencode(dict( | |
| srplm1=cx.execute('Acuros.q(result, Acuros.g, Acuros.C).key;'), | |
| rid=cx.execute('result.rid'), | |
| slogin='1' | |
| )) | |
| post_params = urllib.urlencode(dict( | |
| url='http://www.daum.net/?t__nil_top=login', | |
| weblogin='1', | |
| id=uid, | |
| pw='', | |
| securityLevel='1' | |
| )) | |
| headers = {'Content-type': 'application/x-www-form-urlencoded', 'Accept':'text/plain'} | |
| conn = httplib.HTTPSConnection('logins.daum.net') | |
| conn.request('POST', '/accounts/srp.do?%s'%get_params, post_params, headers) | |
| response = conn.getresponse() | |
| data = response.read() | |
| conn.close() | |
| cookie = response.getheader('set-cookie').replace('HttpOnly, ', ' ').replace(' Path=/,', '; ') | |
| headers = {'Accept':'text/plain', 'Cookie':cookie} | |
| conn = httplib.HTTPConnection('www.daum.net') | |
| conn.request('GET', '/?t__nil_top=login', '', headers) | |
| response = conn.getresponse() | |
| data = response.read() | |
| conn.close() | |
| print cookie |
thank you.
thank you! plz... converting php curl??
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
thanks for accepting us.