summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Turek <brian.turek@gmail.com>2013-02-24 07:27:51 -0500
committerBrian Turek <brian.turek@gmail.com>2013-02-24 07:27:51 -0500
commit415356d07da4148735ec98f9bd41324effe65653 (patch)
tree9e4d94c97494e3ac031fab5b8867fdb8b7bbd00f
parenta09aaf73128a65688133e146f7d675fcaa8d58b7 (diff)
downloadjsSHA-415356d07da4148735ec98f9bd41324effe65653.zip
jsSHA-415356d07da4148735ec98f9bd41324effe65653.tar.gz
jsSHA-415356d07da4148735ec98f9bd41324effe65653.tar.bz2
Changed method of referencing 'window'
-rwxr-xr-xCHANGELOG1
-rwxr-xr-xbuild/make-release2
-rwxr-xr-xsrc/sha.js8
-rwxr-xr-xsrc/sha1.js8
-rwxr-xr-xsrc/sha256.js6
-rwxr-xr-xsrc/sha512.js6
-rwxr-xr-xsrc/sha_dev.js6
7 files changed, 19 insertions, 18 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 335d9f2..b75c093 100755
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -9,6 +9,7 @@
- charSize = 16 is effectively replaced by encoding = "UTF16"
- charSize = 8 was wrong in terms of handling UTF-8 and has been replaced by
encoding = "UTF8"
+- Changed method of referencing "window" to be compatible with WebWorkers (thanks piranna!)
1.42 (2012-12-28)
=========================
diff --git a/build/make-release b/build/make-release
index 5f54387..08d606d 100755
--- a/build/make-release
+++ b/build/make-release
@@ -6,5 +6,5 @@ CLOSURE_COMPILER=${CLOSURE_COMPILER-"../compiler.jar"}
for i in "${!releases[@]}"
do
- java -jar ${CLOSURE_COMPILER} --define="SUPPORTED_ALGS=${releases[$i]}" --output_wrapper "(function(window) {%output%})(this);" --warning_level VERBOSE --compilation_level ADVANCED_OPTIMIZATIONS --js ../src/sha_dev.js --js_output_file ../src/$i.js
+ java -jar ${CLOSURE_COMPILER} --define="SUPPORTED_ALGS=${releases[$i]}" --output_wrapper "(function(module) {%output%})(this);" --warning_level VERBOSE --compilation_level ADVANCED_OPTIMIZATIONS --js ../src/sha_dev.js --js_output_file ../src/$i.js
done
diff --git a/src/sha.js b/src/sha.js
index 20ac495..df42e49 100755
--- a/src/sha.js
+++ b/src/sha.js
@@ -1,4 +1,4 @@
-(function() {/*
+(function(module) {/*
A JavaScript implementation of the SHA family of hashes, as defined in FIPS
PUB 180-2 as well as the corresponding HMAC implementation as defined in
FIPS PUB 198a
@@ -34,7 +34,7 @@ new d(1426881987,3590304994),new d(1925078388,4068182383),new d(2162078206,99133
new d(2438529370,812702999),new d(355462360,4144912697),new d(1731405415,4290775857),new d(41048885895,1750603025),new d(3675008525,1694076839),new d(1203062813,3204075428)]:[new d(1779033703,4089235720),new d(3144134277,2227873595),new d(1013904242,4271175723),new d(2773480762,1595750129),new d(1359893119,2917565137),new d(2600822924,725511199),new d(528734635,4215389547),new d(1541459225,327033209)]):q("Unexpected error in SHA-2 implementation");a[b>>>5]|=128<<24-b%32;a[e]=b;Y=a.length;for(G=0;G<
Y;G+=L){b=g[0];e=g[1];f=g[2];h=g[3];j=g[4];l=g[5];n=g[6];p=g[7];for(t=0;t<A;t+=1)H[t]=16>t?new d(a[t*w+G],a[t*w+G+1]):M(C(H[t-2]),H[t-7],x(H[t-15]),H[t-16]),k=N(p,v(j),O(j,l,n),Q[t],H[t]),m=u(D(b),P(b,e,f)),p=n,n=l,l=j,j=u(h,k),h=f,f=e,e=b,b=u(k,m);g[0]=u(b,g[0]);g[1]=u(e,g[1]);g[2]=u(f,g[2]);g[3]=u(h,g[3]);g[4]=u(j,g[4]);g[5]=u(l,g[5]);g[6]=u(n,g[6]);g[7]=u(p,g[7])}"SHA-224"===c?J=[g[0],g[1],g[2],g[3],g[4],g[5],g[6]]:"SHA-256"===c?J=g:"SHA-384"===c?J=[g[0].a,g[0].b,g[1].a,g[1].b,g[2].a,g[2].b,g[3].a,
g[3].b,g[4].a,g[4].b,g[5].a,g[5].b]:"SHA-512"===c?J=[g[0].a,g[0].b,g[1].a,g[1].b,g[2].a,g[2].b,g[3].a,g[3].b,g[4].a,g[4].b,g[5].a,g[5].b,g[6].a,g[6].b,g[7].a,g[7].b]:q("Unexpected error in SHA-2 implementation");return J}
-window.jsSHA=function(a,b,c){var e=r,f=r,h=r,j=r,l=r,n=0,p=[0],k="",m=r,k="undefined"!==typeof c?c:"UTF8";"UTF8"===k||"UTF16"===k||q("encoding must be UTF8 or UTF16");"HEX"===b?(0!==a.length%2&&q("srcString of HEX type must be in byte increments"),m=z(a),n=m.binLen,p=m.value):"ASCII"===b||"TEXT"===b?(m=y(a,k),n=m.binLen,p=m.value):"B64"===b?(m=B(a),n=m.binLen,p=m.value):q("inputFormat must be HEX, TEXT, ASCII, or B64");this.getHash=function(a,c,b){var k=r,m=p.slice(),w="";switch(c){case "HEX":k=E;
-break;case "B64":k=F;break;default:q("format must be HEX or B64")}"SHA-1"===a?(r===e&&(e=Z(m,n)),w=k(e,I(b))):"SHA-224"===a?(r===f&&(f=$(m,n,a)),w=k(f,I(b))):"SHA-256"===a?(r===h&&(h=$(m,n,a)),w=k(h,I(b))):"SHA-384"===a?(r===j&&(j=$(m,n,a)),w=k(j,I(b))):"SHA-512"===a?(r===l&&(l=$(m,n,a)),w=k(l,I(b))):q("Chosen SHA variant is not supported");return w};this.getHMAC=function(a,c,b,e,f){var h,j,l,m,x,C=[],D=[],v=r;switch(e){case "HEX":h=E;break;case "B64":h=F;break;default:q("outputFormat must be HEX or B64")}"SHA-1"===
+module.jsSHA=function(a,b,c){var e=r,f=r,h=r,j=r,l=r,n=0,p=[0],k="",m=r,k="undefined"!==typeof c?c:"UTF8";"UTF8"===k||"UTF16"===k||q("encoding must be UTF8 or UTF16");"HEX"===b?(0!==a.length%2&&q("srcString of HEX type must be in byte increments"),m=z(a),n=m.binLen,p=m.value):"ASCII"===b||"TEXT"===b?(m=y(a,k),n=m.binLen,p=m.value):"B64"===b?(m=B(a),n=m.binLen,p=m.value):q("inputFormat must be HEX, TEXT, ASCII, or B64");this.getHash=function(a,c,b){var k=r,m=p.slice(),w="";switch(c){case "HEX":k=E;break;
+case "B64":k=F;break;default:q("format must be HEX or B64")}"SHA-1"===a?(r===e&&(e=Z(m,n)),w=k(e,I(b))):"SHA-224"===a?(r===f&&(f=$(m,n,a)),w=k(f,I(b))):"SHA-256"===a?(r===h&&(h=$(m,n,a)),w=k(h,I(b))):"SHA-384"===a?(r===j&&(j=$(m,n,a)),w=k(j,I(b))):"SHA-512"===a?(r===l&&(l=$(m,n,a)),w=k(l,I(b))):q("Chosen SHA variant is not supported");return w};this.getHMAC=function(a,c,b,e,f){var h,j,l,m,x,C=[],D=[],v=r;switch(e){case "HEX":h=E;break;case "B64":h=F;break;default:q("outputFormat must be HEX or B64")}"SHA-1"===
b?(l=64,x=160):"SHA-224"===b?(l=64,x=224):"SHA-256"===b?(l=64,x=256):"SHA-384"===b?(l=128,x=384):"SHA-512"===b?(l=128,x=512):q("Chosen SHA variant is not supported");"HEX"===c?(v=z(a),m=v.binLen,j=v.value):"ASCII"===c||"TEXT"===c?(v=y(a,k),m=v.binLen,j=v.value):"B64"===c?(v=B(a),m=v.binLen,j=v.value):q("inputFormat must be HEX, TEXT, ASCII, or B64");a=8*l;c=l/4-1;l<m/8?(j="SHA-1"===b?Z(j,m):$(j,m,b),j[c]&=4294967040):l>m/8&&(j[c]&=4294967040);for(l=0;l<=c;l+=1)C[l]=j[l]^909522486,D[l]=j[l]^1549556828;
-b="SHA-1"===b?Z(D.concat(Z(C.concat(p),a+n)),a+x):$(D.concat($(C.concat(p),a+n,b)),a+x,b);return h(b,I(f))}};})();
+b="SHA-1"===b?Z(D.concat(Z(C.concat(p),a+n)),a+x):$(D.concat($(C.concat(p),a+n,b)),a+x,b);return h(b,I(f))}};})(this);
diff --git a/src/sha1.js b/src/sha1.js
index f7d327e..1d36ec5 100755
--- a/src/sha1.js
+++ b/src/sha1.js
@@ -1,4 +1,4 @@
-(function() {/*
+(function(module) {/*
A JavaScript implementation of the SHA family of hashes, as defined in FIPS
PUB 180-2 as well as the corresponding HMAC implementation as defined in
FIPS PUB 198a
@@ -19,6 +19,6 @@ function A(d,f,a,b,c){var e=(d&65535)+(f&65535)+(a&65535)+(b&65535)+(c&65535);re
function B(d,f){var a=[],b,c,e,g,h,C,t,j,D,l=[1732584193,4023233417,2562383102,271733878,3285377520],n=[1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1518500249,1859775393,1859775393,1859775393,1859775393,1859775393,1859775393,1859775393,1859775393,1859775393,1859775393,1859775393,1859775393,1859775393,1859775393,1859775393,1859775393,1859775393,
1859775393,1859775393,1859775393,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,2400959708,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782,3395469782];d[f>>>5]|=128<<24-f%32;d[(f+
65>>>9<<4)+15]=f;D=d.length;for(t=0;t<D;t+=16){b=l[0];c=l[1];e=l[2];g=l[3];h=l[4];for(j=0;80>j;j+=1)a[j]=16>j?d[j+t]:(a[j-3]^a[j-8]^a[j-14]^a[j-16])<<1|(a[j-3]^a[j-8]^a[j-14]^a[j-16])>>>31,C=20>j?A(b<<5|b>>>27,c&e^~c&g,h,n[j],a[j]):40>j?A(b<<5|b>>>27,c^e^g,h,n[j],a[j]):60>j?A(b<<5|b>>>27,c&e^c&g^e&g,h,n[j],a[j]):A(b<<5|b>>>27,c^e^g,h,n[j],a[j]),h=g,g=e,e=c<<30|c>>>2,c=b,b=C;l[0]=z(b,l[0]);l[1]=z(c,l[1]);l[2]=z(e,l[2]);l[3]=z(g,l[3]);l[4]=z(h,l[4])}return l}
-window.jsSHA=function(d,f,a){var b=null,c=0,e=[0],g="",h=null,g="undefined"!==typeof a?a:"UTF8";"UTF8"===g||"UTF16"===g||k("encoding must be UTF8 or UTF16");"HEX"===f?(0!==d.length%2&&k("srcString of HEX type must be in byte increments"),h=u(d),c=h.binLen,e=h.value):"ASCII"===f||"TEXT"===f?(h=s(d,g),c=h.binLen,e=h.value):"B64"===f?(h=v(d),c=h.binLen,e=h.value):k("inputFormat must be HEX, TEXT, ASCII, or B64");this.getHash=function(a,d,f){var g=null,h=e.slice(),n="";switch(d){case "HEX":g=w;break;
-case "B64":g=x;break;default:k("format must be HEX or B64")}"SHA-1"===a?(null===b&&(b=B(h,c)),n=g(b,y(f))):k("Chosen SHA variant is not supported");return n};this.getHMAC=function(b,a,d,f,h){var n,p,m,E,r,F,G=[],H=[],q=null;switch(f){case "HEX":n=w;break;case "B64":n=x;break;default:k("outputFormat must be HEX or B64")}"SHA-1"===d?(m=64,F=160):k("Chosen SHA variant is not supported");"HEX"===a?(q=u(b),r=q.binLen,p=q.value):"ASCII"===a||"TEXT"===a?(q=s(b,g),r=q.binLen,p=q.value):"B64"===a?(q=v(b),
-r=q.binLen,p=q.value):k("inputFormat must be HEX, TEXT, ASCII, or B64");b=8*m;a=m/4-1;m<r/8?("SHA-1"===d?p=B(p,r):k("Unexpected error in HMAC implementation"),p[a]&=4294967040):m>r/8&&(p[a]&=4294967040);for(m=0;m<=a;m+=1)G[m]=p[m]^909522486,H[m]=p[m]^1549556828;"SHA-1"===d?E=B(H.concat(B(G.concat(e),b+c)),b+F):k("Unexpected error in HMAC implementation");return n(E,y(h))}};})();
+module.jsSHA=function(d,f,a){var b=null,c=0,e=[0],g="",h=null,g="undefined"!==typeof a?a:"UTF8";"UTF8"===g||"UTF16"===g||k("encoding must be UTF8 or UTF16");"HEX"===f?(0!==d.length%2&&k("srcString of HEX type must be in byte increments"),h=u(d),c=h.binLen,e=h.value):"ASCII"===f||"TEXT"===f?(h=s(d,g),c=h.binLen,e=h.value):"B64"===f?(h=v(d),c=h.binLen,e=h.value):k("inputFormat must be HEX, TEXT, ASCII, or B64");this.getHash=function(a,d,f){var g=null,h=e.slice(),n="";switch(d){case "HEX":g=w;break;case "B64":g=
+x;break;default:k("format must be HEX or B64")}"SHA-1"===a?(null===b&&(b=B(h,c)),n=g(b,y(f))):k("Chosen SHA variant is not supported");return n};this.getHMAC=function(b,a,d,f,h){var n,p,m,E,r,F,G=[],H=[],q=null;switch(f){case "HEX":n=w;break;case "B64":n=x;break;default:k("outputFormat must be HEX or B64")}"SHA-1"===d?(m=64,F=160):k("Chosen SHA variant is not supported");"HEX"===a?(q=u(b),r=q.binLen,p=q.value):"ASCII"===a||"TEXT"===a?(q=s(b,g),r=q.binLen,p=q.value):"B64"===a?(q=v(b),r=q.binLen,p=
+q.value):k("inputFormat must be HEX, TEXT, ASCII, or B64");b=8*m;a=m/4-1;m<r/8?("SHA-1"===d?p=B(p,r):k("Unexpected error in HMAC implementation"),p[a]&=4294967040):m>r/8&&(p[a]&=4294967040);for(m=0;m<=a;m+=1)G[m]=p[m]^909522486,H[m]=p[m]^1549556828;"SHA-1"===d?E=B(H.concat(B(G.concat(e),b+c)),b+F):k("Unexpected error in HMAC implementation");return n(E,y(h))}};})(this);
diff --git a/src/sha256.js b/src/sha256.js
index aaa96e5..eb1c974 100755
--- a/src/sha256.js
+++ b/src/sha256.js
@@ -1,4 +1,4 @@
-(function() {/*
+(function(module) {/*
A JavaScript implementation of the SHA family of hashes, as defined in FIPS
PUB 180-2 as well as the corresponding HMAC implementation as defined in
FIPS PUB 198a
@@ -21,6 +21,6 @@ function $(a,b,d){var e,c,f,h,l,k,z,B,I,g,J,u,j,m,s,p,x,y,q,K,L,M,N,O,P,Q,v=[],R
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],g="SHA-224"===d?[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]:[1779033703,3144134277,1013904242,2773480762,
1359893119,2600822924,528734635,1541459225]):n("Unexpected error in SHA-2 implementation");a[b>>>5]|=128<<24-b%32;a[(b+65>>>9<<4)+15]=b;R=a.length;for(u=0;u<R;u+=m){b=g[0];e=g[1];c=g[2];f=g[3];h=g[4];l=g[5];k=g[6];z=g[7];for(j=0;j<J;j+=1)v[j]=16>j?new P(a[j*s+u],a[j*s+u+1]):x(K(v[j-2]),v[j-7],q(v[j-15]),v[j-16]),B=y(z,M(h),N(h,l,k),Q[j],v[j]),I=p(L(b),O(b,e,c)),z=k,k=l,l=h,h=p(f,B),f=c,c=e,e=b,b=p(B,I);g[0]=p(b,g[0]);g[1]=p(e,g[1]);g[2]=p(c,g[2]);g[3]=p(f,g[3]);g[4]=p(h,g[4]);g[5]=p(l,g[5]);g[6]=
p(k,g[6]);g[7]=p(z,g[7])}"SHA-224"===d?C=[g[0],g[1],g[2],g[3],g[4],g[5],g[6]]:"SHA-256"===d?C=g:n("Unexpected error in SHA-2 implementation");return C}
-window.jsSHA=function(a,b,d){var e=r,c=r,f=0,h=[0],l="",k=r,l="undefined"!==typeof d?d:"UTF8";"UTF8"===l||"UTF16"===l||n("encoding must be UTF8 or UTF16");"HEX"===b?(0!==a.length%2&&n("srcString of HEX type must be in byte increments"),k=w(a),f=k.binLen,h=k.value):"ASCII"===b||"TEXT"===b?(k=t(a,l),f=k.binLen,h=k.value):"B64"===b?(k=A(a),f=k.binLen,h=k.value):n("inputFormat must be HEX, TEXT, ASCII, or B64");this.getHash=function(a,b,d){var g=r,l=h.slice(),k="";switch(b){case "HEX":g=D;break;case "B64":g=
+module.jsSHA=function(a,b,d){var e=r,c=r,f=0,h=[0],l="",k=r,l="undefined"!==typeof d?d:"UTF8";"UTF8"===l||"UTF16"===l||n("encoding must be UTF8 or UTF16");"HEX"===b?(0!==a.length%2&&n("srcString of HEX type must be in byte increments"),k=w(a),f=k.binLen,h=k.value):"ASCII"===b||"TEXT"===b?(k=t(a,l),f=k.binLen,h=k.value):"B64"===b?(k=A(a),f=k.binLen,h=k.value):n("inputFormat must be HEX, TEXT, ASCII, or B64");this.getHash=function(a,b,d){var g=r,l=h.slice(),k="";switch(b){case "HEX":g=D;break;case "B64":g=
E;break;default:n("format must be HEX or B64")}"SHA-224"===a?(r===e&&(e=$(l,f,a)),k=g(e,F(d))):"SHA-256"===a?(r===c&&(c=$(l,f,a)),k=g(c,F(d))):n("Chosen SHA variant is not supported");return k};this.getHMAC=function(a,b,c,d,e){var k,j,m,s,p,x=[],y=[],q=r;switch(d){case "HEX":k=D;break;case "B64":k=E;break;default:n("outputFormat must be HEX or B64")}"SHA-224"===c?(m=64,p=224):"SHA-256"===c?(m=64,p=256):n("Chosen SHA variant is not supported");"HEX"===b?(q=w(a),s=q.binLen,j=q.value):"ASCII"===b||"TEXT"===
-b?(q=t(a,l),s=q.binLen,j=q.value):"B64"===b?(q=A(a),s=q.binLen,j=q.value):n("inputFormat must be HEX, TEXT, ASCII, or B64");a=8*m;b=m/4-1;m<s/8?(j=$(j,s,c),j[b]&=4294967040):m>s/8&&(j[b]&=4294967040);for(m=0;m<=b;m+=1)x[m]=j[m]^909522486,y[m]=j[m]^1549556828;c=$(y.concat($(x.concat(h),a+f,c)),a+p,c);return k(c,F(e))}};})();
+b?(q=t(a,l),s=q.binLen,j=q.value):"B64"===b?(q=A(a),s=q.binLen,j=q.value):n("inputFormat must be HEX, TEXT, ASCII, or B64");a=8*m;b=m/4-1;m<s/8?(j=$(j,s,c),j[b]&=4294967040):m>s/8&&(j[b]&=4294967040);for(m=0;m<=b;m+=1)x[m]=j[m]^909522486,y[m]=j[m]^1549556828;c=$(y.concat($(x.concat(h),a+f,c)),a+p,c);return k(c,F(e))}};})(this);
diff --git a/src/sha512.js b/src/sha512.js
index 70eb44f..6ec99c2 100755
--- a/src/sha512.js
+++ b/src/sha512.js
@@ -1,4 +1,4 @@
-(function() {/*
+(function(module) {/*
A JavaScript implementation of the SHA family of hashes, as defined in FIPS
PUB 180-2 as well as the corresponding HMAC implementation as defined in
FIPS PUB 198a
@@ -28,6 +28,6 @@ new c(1426881987,3590304994),new c(1925078388,4068182383),new c(2162078206,99133
new c(2438529370,812702999),new c(355462360,4144912697),new c(1731405415,4290775857),new c(41048885895,1750603025),new c(3675008525,1694076839),new c(1203062813,3204075428)]:[new c(1779033703,4089235720),new c(3144134277,2227873595),new c(1013904242,4271175723),new c(2773480762,1595750129),new c(1359893119,2917565137),new c(2600822924,725511199),new c(528734635,4215389547),new c(1541459225,327033209)]):p("Unexpected error in SHA-2 implementation");a[b>>>5]|=128<<24-b%32;a[f]=b;T=a.length;for(w=0;w<
T;w+=n){b=h[0];f=h[1];e=h[2];g=h[3];j=h[4];m=h[5];l=h[6];B=h[7];for(k=0;k<M;k+=1)x[k]=16>k?new c(a[k*u+w],a[k*u+w+1]):z(N(x[k-2]),x[k-7],s(x[k-15]),x[k-16]),D=A(B,P(j),Q(j,m,l),S[k],x[k]),L=q(O(b),R(b,f,e)),B=l,l=m,m=j,j=q(g,D),g=e,e=f,f=b,b=q(D,L);h[0]=q(b,h[0]);h[1]=q(f,h[1]);h[2]=q(e,h[2]);h[3]=q(g,h[3]);h[4]=q(j,h[4]);h[5]=q(m,h[5]);h[6]=q(l,h[6]);h[7]=q(B,h[7])}"SHA-384"===d?E=[h[0].a,h[0].b,h[1].a,h[1].b,h[2].a,h[2].b,h[3].a,h[3].b,h[4].a,h[4].b,h[5].a,h[5].b]:"SHA-512"===d?E=[h[0].a,h[0].b,
h[1].a,h[1].b,h[2].a,h[2].b,h[3].a,h[3].b,h[4].a,h[4].b,h[5].a,h[5].b,h[6].a,h[6].b,h[7].a,h[7].b]:p("Unexpected error in SHA-2 implementation");return E}
-window.jsSHA=function(a,b,d){var f=r,e=r,g=0,j=[0],m="",l=r,m="undefined"!==typeof d?d:"UTF8";"UTF8"===m||"UTF16"===m||p("encoding must be UTF8 or UTF16");"HEX"===b?(0!==a.length%2&&p("srcString of HEX type must be in byte increments"),l=y(a),g=l.binLen,j=l.value):"ASCII"===b||"TEXT"===b?(l=v(a,m),g=l.binLen,j=l.value):"B64"===b?(l=C(a),g=l.binLen,j=l.value):p("inputFormat must be HEX, TEXT, ASCII, or B64");this.getHash=function(a,b,d){var h=r,m=j.slice(),l="";switch(b){case "HEX":h=F;break;case "B64":h=
+module.jsSHA=function(a,b,d){var f=r,e=r,g=0,j=[0],m="",l=r,m="undefined"!==typeof d?d:"UTF8";"UTF8"===m||"UTF16"===m||p("encoding must be UTF8 or UTF16");"HEX"===b?(0!==a.length%2&&p("srcString of HEX type must be in byte increments"),l=y(a),g=l.binLen,j=l.value):"ASCII"===b||"TEXT"===b?(l=v(a,m),g=l.binLen,j=l.value):"B64"===b?(l=C(a),g=l.binLen,j=l.value):p("inputFormat must be HEX, TEXT, ASCII, or B64");this.getHash=function(a,b,d){var h=r,m=j.slice(),l="";switch(b){case "HEX":h=F;break;case "B64":h=
G;break;default:p("format must be HEX or B64")}"SHA-384"===a?(r===f&&(f=$(m,g,a)),l=h(f,H(d))):"SHA-512"===a?(r===e&&(e=$(m,g,a)),l=h(e,H(d))):p("Chosen SHA variant is not supported");return l};this.getHMAC=function(a,b,d,e,f){var l,k,n,u,q,z=[],A=[],s=r;switch(e){case "HEX":l=F;break;case "B64":l=G;break;default:p("outputFormat must be HEX or B64")}"SHA-384"===d?(n=128,q=384):"SHA-512"===d?(n=128,q=512):p("Chosen SHA variant is not supported");"HEX"===b?(s=y(a),u=s.binLen,k=s.value):"ASCII"===b||
-"TEXT"===b?(s=v(a,m),u=s.binLen,k=s.value):"B64"===b?(s=C(a),u=s.binLen,k=s.value):p("inputFormat must be HEX, TEXT, ASCII, or B64");a=8*n;b=n/4-1;n<u/8?(k=$(k,u,d),k[b]&=4294967040):n>u/8&&(k[b]&=4294967040);for(n=0;n<=b;n+=1)z[n]=k[n]^909522486,A[n]=k[n]^1549556828;d=$(A.concat($(z.concat(j),a+g,d)),a+q,d);return l(d,H(f))}};})();
+"TEXT"===b?(s=v(a,m),u=s.binLen,k=s.value):"B64"===b?(s=C(a),u=s.binLen,k=s.value):p("inputFormat must be HEX, TEXT, ASCII, or B64");a=8*n;b=n/4-1;n<u/8?(k=$(k,u,d),k[b]&=4294967040):n>u/8&&(k[b]&=4294967040);for(n=0;n<=b;n+=1)z[n]=k[n]^909522486,A[n]=k[n]^1549556828;d=$(A.concat($(z.concat(j),a+g,d)),a+q,d);return l(d,H(f))}};})(this);
diff --git a/src/sha_dev.js b/src/sha_dev.js
index 2a224dd..3022ed5 100755
--- a/src/sha_dev.js
+++ b/src/sha_dev.js
@@ -20,7 +20,7 @@
*/
var SUPPORTED_ALGS = 4 | 2 | 1;
-(function (window)
+(function (module)
{
"use strict";
/**
@@ -1377,5 +1377,5 @@ var SUPPORTED_ALGS = 4 | 2 | 1;
};
};
- window['jsSHA'] = jsSHA;
-}(window));
+ module['jsSHA'] = jsSHA;
+}(this));