Skip to content

Instantly share code, notes, and snippets.

@aurimasniekis
Created January 25, 2019 19:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aurimasniekis/c7b88f8311011b6a6d32e1081e72055a to your computer and use it in GitHub Desktop.
Save aurimasniekis/c7b88f8311011b6a6d32e1081e72055a to your computer and use it in GitHub Desktop.
(function () {
var t = aaa
, i = ccc.utf8
, a = bbb
, o = ccc.bin
, r = function (e, n) {
e.constructor == String ? e = n && "binary" === n.encoding ? o.stringToBytes(e) : i.stringToBytes(e) : a(e) ? e = Array.prototype.slice.call(e, 0) : Array.isArray(e) || (e = e.toString());
for (var s = t.bytesToWords(e), l = 8 * e.length, c = 1732584193, d = -271733879, u = -1732584194, p = 271733878, h = 0; h < s.length; h++)
s[h] = 16711935 & (s[h] << 8 | s[h] >>> 24) | 4278255360 & (s[h] << 24 | s[h] >>> 8);
s[l >>> 5] |= 128 << l % 32,
s[14 + (l + 64 >>> 9 << 4)] = l;
for (var f = r._ff, g = r._gg, m = r._hh, v = r._ii, h = 0; h < s.length; h += 16) {
var x = c
, w = d
, y = u
, b = p;
c = f(c, d, u, p, s[h + 0], 7, -680876936),
p = f(p, c, d, u, s[h + 1], 12, -389564586),
u = f(u, p, c, d, s[h + 2], 17, 606105819),
d = f(d, u, p, c, s[h + 3], 22, -1044525330),
c = f(c, d, u, p, s[h + 4], 7, -176418897),
p = f(p, c, d, u, s[h + 5], 12, 1200080426),
u = f(u, p, c, d, s[h + 6], 17, -1473231341),
d = f(d, u, p, c, s[h + 7], 22, -45705983),
c = f(c, d, u, p, s[h + 8], 7, 1770035416),
p = f(p, c, d, u, s[h + 9], 12, -1958414417),
u = f(u, p, c, d, s[h + 10], 17, -42063),
d = f(d, u, p, c, s[h + 11], 22, -1990404162),
c = f(c, d, u, p, s[h + 12], 7, 1804603682),
p = f(p, c, d, u, s[h + 13], 12, -40341101),
u = f(u, p, c, d, s[h + 14], 17, -1502002290),
d = f(d, u, p, c, s[h + 15], 22, 1236535329),
c = g(c, d, u, p, s[h + 1], 5, -165796510),
p = g(p, c, d, u, s[h + 6], 9, -1069501632),
u = g(u, p, c, d, s[h + 11], 14, 643717713),
d = g(d, u, p, c, s[h + 0], 20, -373897302),
c = g(c, d, u, p, s[h + 5], 5, -701558691),
p = g(p, c, d, u, s[h + 10], 9, 38016083),
u = g(u, p, c, d, s[h + 15], 14, -660478335),
d = g(d, u, p, c, s[h + 4], 20, -405537848),
c = g(c, d, u, p, s[h + 9], 5, 568446438),
p = g(p, c, d, u, s[h + 14], 9, -1019803690),
u = g(u, p, c, d, s[h + 3], 14, -187363961),
d = g(d, u, p, c, s[h + 8], 20, 1163531501),
c = g(c, d, u, p, s[h + 13], 5, -1444681467),
p = g(p, c, d, u, s[h + 2], 9, -51403784),
u = g(u, p, c, d, s[h + 7], 14, 1735328473),
d = g(d, u, p, c, s[h + 12], 20, -1926607734),
c = m(c, d, u, p, s[h + 5], 4, -378558),
p = m(p, c, d, u, s[h + 8], 11, -2022574463),
u = m(u, p, c, d, s[h + 11], 16, 1839030562),
d = m(d, u, p, c, s[h + 14], 23, -35309556),
c = m(c, d, u, p, s[h + 1], 4, -1530992060),
p = m(p, c, d, u, s[h + 4], 11, 1272893353),
u = m(u, p, c, d, s[h + 7], 16, -155497632),
d = m(d, u, p, c, s[h + 10], 23, -1094730640),
c = m(c, d, u, p, s[h + 13], 4, 681279174),
p = m(p, c, d, u, s[h + 0], 11, -358537222),
u = m(u, p, c, d, s[h + 3], 16, -722521979),
d = m(d, u, p, c, s[h + 6], 23, 76029189),
c = m(c, d, u, p, s[h + 9], 4, -640364487),
p = m(p, c, d, u, s[h + 12], 11, -421815835),
u = m(u, p, c, d, s[h + 15], 16, 530742520),
d = m(d, u, p, c, s[h + 2], 23, -995338651),
c = v(c, d, u, p, s[h + 0], 6, -198630844),
p = v(p, c, d, u, s[h + 7], 10, 1126891415),
u = v(u, p, c, d, s[h + 14], 15, -1416354905),
d = v(d, u, p, c, s[h + 5], 21, -57434055),
c = v(c, d, u, p, s[h + 12], 6, 1700485571),
p = v(p, c, d, u, s[h + 3], 10, -1894986606),
u = v(u, p, c, d, s[h + 10], 15, -1051523),
d = v(d, u, p, c, s[h + 1], 21, -2054922799),
c = v(c, d, u, p, s[h + 8], 6, 1873313359),
p = v(p, c, d, u, s[h + 15], 10, -30611744),
u = v(u, p, c, d, s[h + 6], 15, -1560198380),
d = v(d, u, p, c, s[h + 13], 21, 1309151649),
c = v(c, d, u, p, s[h + 4], 6, -145523070),
p = v(p, c, d, u, s[h + 11], 10, -1120210379),
u = v(u, p, c, d, s[h + 2], 15, 718787259),
d = v(d, u, p, c, s[h + 9], 21, -343485551),
c = c + x >>> 0,
d = d + w >>> 0,
u = u + y >>> 0,
p = p + b >>> 0
}
return t.endian([c, d, u, p])
};
r._ff = function (e, t, n, i, a, o, r) {
var s = e + (t & n | ~t & i) + (a >>> 0) + r;
return (s << o | s >>> 32 - o) + t
}
,
r._gg = function (e, t, n, i, a, o, r) {
var s = e + (t & i | n & ~i) + (a >>> 0) + r;
return (s << o | s >>> 32 - o) + t
}
,
r._hh = function (e, t, n, i, a, o, r) {
var s = e + (t ^ n ^ i) + (a >>> 0) + r;
return (s << o | s >>> 32 - o) + t
}
,
r._ii = function (e, t, n, i, a, o, r) {
var s = e + (n ^ (t | ~i)) + (a >>> 0) + r;
return (s << o | s >>> 32 - o) + t
}
,
r._blocksize = 16,
r._digestsize = 16;
return function (e, n) {
if (void 0 === e || null === e)
throw new Error("Illegal argument " + e);
var i = t.wordsToBytes(r(e, n));
return n && n.asBytes ? i : n && n.asString ? o.bytesToString(i) : t.bytesToHex(i)
};
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment