summaryrefslogtreecommitdiff
path: root/gstudio/static/gstudio/js/Gnowmacs/test/dl/extras/sha1.js
diff options
context:
space:
mode:
Diffstat (limited to 'gstudio/static/gstudio/js/Gnowmacs/test/dl/extras/sha1.js')
-rw-r--r--gstudio/static/gstudio/js/Gnowmacs/test/dl/extras/sha1.js10
1 files changed, 10 insertions, 0 deletions
diff --git a/gstudio/static/gstudio/js/Gnowmacs/test/dl/extras/sha1.js b/gstudio/static/gstudio/js/Gnowmacs/test/dl/extras/sha1.js
new file mode 100644
index 00000000..aabb2e72
--- /dev/null
+++ b/gstudio/static/gstudio/js/Gnowmacs/test/dl/extras/sha1.js
@@ -0,0 +1,10 @@
+/*
+ * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
+ * in FIPS PUB 180-1
+ * Version 2.1a Copyright Paul Johnston 2000 - 2002.
+ * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+ * Distributed under the BSD License
+ * See http://pajhome.org.uk/crypt/md5 for details.
+ *
+ * Adapted for DynarchLIB by Mihai Bazon.
+ */(function(){var a=0,b="",c=8;window.hex_sha1=function(a){return m(e(k(a),a.length*c))},window.b64_sha1=function(a){return n(e(k(a),a.length*c))},window.str_sha1=function(a){return l(e(k(a),a.length*c))},window.hex_hmac_sha1=function(a,b){return m(h(a,b))},window.b64_hmac_sha1=function(a,b){return n(h(a,b))},window.str_hmac_sha1=function(a,b){return l(h(a,b))};function d(){return hex_sha1("abc")=="a9993e364706816aba3e25717850c26c9cd0d89d"}function e(a,b){a[b>>5]|=128<<24-b%32,a[(b+64>>9<<4)+15]=b;for(var c=Array(80),d=1732584193,e=-271733879,h=-1732584194,k=271733878,l=-1009589776,m=0;m<a.length;m+=16){for(var n=d,o=e,p=h,q=k,r=l,s=0;s<80;s++){s<16?c[s]=a[m+s]:c[s]=j(c[s-3]^c[s-8]^c[s-14]^c[s-16],1);var t=i(i(j(d,5),f(s,e,h,k)),i(i(l,c[s]),g(s)));l=k,k=h,h=j(e,30),e=d,d=t}d=i(d,n),e=i(e,o),h=i(h,p),k=i(k,q),l=i(l,r)}return Array(d,e,h,k,l)}function f(a,b,c,d){if(a<20)return b&c|~b&d;if(a<40)return b^c^d;if(a<60)return b&c|b&d|c&d;return b^c^d}function g(a){return a<20?1518500249:a<40?1859775393:a<60?-1894007588:-899497514}function h(a,b){var d=k(a);d.length>16&&(d=e(d,a.length*c));for(var f=Array(16),g=Array(16),h=0;h<16;h++)f[h]=d[h]^909522486,g[h]=d[h]^1549556828;var i=e(f.concat(k(b)),512+b.length*c);return e(g.concat(i),672)}function i(a,b){var c=(a&65535)+(b&65535),d=(a>>16)+(b>>16)+(c>>16);return d<<16|c&65535}function j(a,b){return a<<b|a>>>32-b}function k(a){for(var b=Array(),d=(1<<c)-1,e=0;e<a.length*c;e+=c)b[e>>5]|=(a.charCodeAt(e/c)&d)<<32-c-e%32;return b}function l(a){for(var b="",d=(1<<c)-1,e=0;e<a.length*32;e+=c)b+=String.fromCharCode(a[e>>5]>>>32-c-e%32&d);return b}function m(b){for(var c=a?"0123456789ABCDEF":"0123456789abcdef",d="",e=0;e<b.length*4;e++)d+=c.charAt(b[e>>2]>>(3-e%4)*8+4&15)+c.charAt(b[e>>2]>>(3-e%4)*8&15);return d}function n(a){for(var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d="",e=0;e<a.length*4;e+=3)for(var f=(a[e>>2]>>8*(3-e%4)&255)<<16|(a[e+1>>2]>>8*(3-(e+1)%4)&255)<<8|a[e+2>>2]>>8*(3-(e+2)%4)&255,g=0;g<4;g++)e*8+g*6>a.length*32?d+=b:d+=c.charAt(f>>6*(3-g)&63);return d}})() \ No newline at end of file