| 50 | |
| 51 | .factory('md5', function() { |
| 52 | function md5cycle(x, k) { |
| 53 | var a = x[0], |
| 54 | b = x[1], |
| 55 | c = x[2], |
| 56 | d = x[3]; |
| 57 | |
| 58 | a = ff(a, b, c, d, k[0], 7, -680876936); |
| 59 | d = ff(d, a, b, c, k[1], 12, -389564586); |
| 60 | c = ff(c, d, a, b, k[2], 17, 606105819); |
| 61 | b = ff(b, c, d, a, k[3], 22, -1044525330); |
| 62 | a = ff(a, b, c, d, k[4], 7, -176418897); |
| 63 | d = ff(d, a, b, c, k[5], 12, 1200080426); |
| 64 | c = ff(c, d, a, b, k[6], 17, -1473231341); |
| 65 | b = ff(b, c, d, a, k[7], 22, -45705983); |
| 66 | a = ff(a, b, c, d, k[8], 7, 1770035416); |
| 67 | d = ff(d, a, b, c, k[9], 12, -1958414417); |
| 68 | c = ff(c, d, a, b, k[10], 17, -42063); |
| 69 | b = ff(b, c, d, a, k[11], 22, -1990404162); |
| 70 | a = ff(a, b, c, d, k[12], 7, 1804603682); |
| 71 | d = ff(d, a, b, c, k[13], 12, -40341101); |
| 72 | c = ff(c, d, a, b, k[14], 17, -1502002290); |
| 73 | b = ff(b, c, d, a, k[15], 22, 1236535329); |
| 74 | |
| 75 | a = gg(a, b, c, d, k[1], 5, -165796510); |
| 76 | d = gg(d, a, b, c, k[6], 9, -1069501632); |
| 77 | c = gg(c, d, a, b, k[11], 14, 643717713); |
| 78 | b = gg(b, c, d, a, k[0], 20, -373897302); |
| 79 | a = gg(a, b, c, d, k[5], 5, -701558691); |
| 80 | d = gg(d, a, b, c, k[10], 9, 38016083); |
| 81 | c = gg(c, d, a, b, k[15], 14, -660478335); |
| 82 | b = gg(b, c, d, a, k[4], 20, -405537848); |
| 83 | a = gg(a, b, c, d, k[9], 5, 568446438); |
| 84 | d = gg(d, a, b, c, k[14], 9, -1019803690); |
| 85 | c = gg(c, d, a, b, k[3], 14, -187363961); |
| 86 | b = gg(b, c, d, a, k[8], 20, 1163531501); |
| 87 | a = gg(a, b, c, d, k[13], 5, -1444681467); |
| 88 | d = gg(d, a, b, c, k[2], 9, -51403784); |
| 89 | c = gg(c, d, a, b, k[7], 14, 1735328473); |
| 90 | b = gg(b, c, d, a, k[12], 20, -1926607734); |
| 91 | |
| 92 | a = hh(a, b, c, d, k[5], 4, -378558); |
| 93 | d = hh(d, a, b, c, k[8], 11, -2022574463); |
| 94 | c = hh(c, d, a, b, k[11], 16, 1839030562); |
| 95 | b = hh(b, c, d, a, k[14], 23, -35309556); |
| 96 | a = hh(a, b, c, d, k[1], 4, -1530992060); |
| 97 | d = hh(d, a, b, c, k[4], 11, 1272893353); |
| 98 | c = hh(c, d, a, b, k[7], 16, -155497632); |
| 99 | b = hh(b, c, d, a, k[10], 23, -1094730640); |
| 100 | a = hh(a, b, c, d, k[13], 4, 681279174); |
| 101 | d = hh(d, a, b, c, k[0], 11, -358537222); |
| 102 | c = hh(c, d, a, b, k[3], 16, -722521979); |
| 103 | b = hh(b, c, d, a, k[6], 23, 76029189); |
| 104 | a = hh(a, b, c, d, k[9], 4, -640364487); |
| 105 | d = hh(d, a, b, c, k[12], 11, -421815835); |
| 106 | c = hh(c, d, a, b, k[15], 16, 530742520); |
| 107 | b = hh(b, c, d, a, k[2], 23, -995338651); |
| 108 | |
| 109 | a = ii(a, b, c, d, k[0], 6, -198630844); |