From 50de80c5e817476ac95a096c718a66f5555fcd05 Mon Sep 17 00:00:00 2001 From: Azul Date: Fri, 20 Jul 2012 10:56:36 +0200 Subject: INCOMPATIBLE: major restructuring of the repository * removed Django code - we're keeping the tests - so I hope the two can still be used together * removed js packer - everyone has their own packaging strategy these days * cleaned up the repository - we only have js so javascript directory does not make much sense --- javascript/SHA256.js | 127 --------------------------------------------------- 1 file changed, 127 deletions(-) delete mode 100644 javascript/SHA256.js (limited to 'javascript/SHA256.js') diff --git a/javascript/SHA256.js b/javascript/SHA256.js deleted file mode 100644 index 1a852c0..0000000 --- a/javascript/SHA256.js +++ /dev/null @@ -1,127 +0,0 @@ -/** -* -* Secure Hash Algorithm (SHA256) -* http://www.webtoolkit.info/ -* -* Original code by Angel Marin, Paul Johnston. -* -**/ - -function SHA256(s){ - - var chrsz = 8; - var hexcase = 0; - - function safe_add (x, y) { - var lsw = (x & 0xFFFF) + (y & 0xFFFF); - var msw = (x >> 16) + (y >> 16) + (lsw >> 16); - return (msw << 16) | (lsw & 0xFFFF); - } - - function S (X, n) { return ( X >>> n ) | (X << (32 - n)); } - function R (X, n) { return ( X >>> n ); } - function Ch(x, y, z) { return ((x & y) ^ ((~x) & z)); } - function Maj(x, y, z) { return ((x & y) ^ (x & z) ^ (y & z)); } - function Sigma0256(x) { return (S(x, 2) ^ S(x, 13) ^ S(x, 22)); } - function Sigma1256(x) { return (S(x, 6) ^ S(x, 11) ^ S(x, 25)); } - function Gamma0256(x) { return (S(x, 7) ^ S(x, 18) ^ R(x, 3)); } - function Gamma1256(x) { return (S(x, 17) ^ S(x, 19) ^ R(x, 10)); } - - function core_sha256 (m, l) { - var K = new Array(0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0xFC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x6CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2); - var HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19); - var W = new Array(64); - var a, b, c, d, e, f, g, h, i, j; - var T1, T2; - - m[l >> 5] |= 0x80 << (24 - l % 32); - m[((l + 64 >> 9) << 4) + 15] = l; - - for ( var i = 0; i>5] |= (str.charCodeAt(i / chrsz) & mask) << (24 - i%32); - } - return bin; - } - - function Utf8Encode(string) { - string = string.replace(/\r\n/g,"\n"); - var utftext = ""; - - for (var n = 0; n < string.length; n++) { - - var c = string.charCodeAt(n); - - if (c < 128) { - utftext += String.fromCharCode(c); - } - else if((c > 127) && (c < 2048)) { - utftext += String.fromCharCode((c >> 6) | 192); - utftext += String.fromCharCode((c & 63) | 128); - } - else { - utftext += String.fromCharCode((c >> 12) | 224); - utftext += String.fromCharCode(((c >> 6) & 63) | 128); - utftext += String.fromCharCode((c & 63) | 128); - } - - } - - return utftext; - } - - function binb2hex (binarray) { - var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; - var str = ""; - for(var i = 0; i < binarray.length * 4; i++) { - str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) + - hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8 )) & 0xF); - } - return str; - } - - s = Utf8Encode(s); - return binb2hex(core_sha256(str2binb(s), s.length * chrsz)); - -} -- cgit v1.2.3