You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
9 lines
4.2 KiB
JavaScript
9 lines
4.2 KiB
JavaScript
/**
|
|
* [js-sha256]{@link https://github.com/emn178/js-sha256}
|
|
*
|
|
* @version 0.4.0
|
|
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
* @copyright Chen, Yi-Cyuan 2014-2017
|
|
* @license MIT
|
|
*/
|
|
!function(){"use strict";var e="object"==typeof window?window:{},o=!e.JS_SHA256_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;o&&(e=global);var r=!e.JS_SHA256_NO_COMMON_JS&&"object"==typeof module&&module.exports,t="function"==typeof define&&define.amd,n="0123456789abcdef".split(""),s=[-2147483648,8388608,32768,128],f=[24,16,8,0],i=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,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],a=[],c=function(e){return d(e,!0)},d=function(o,r){var t="string"!=typeof o;t&&o.constructor==e.ArrayBuffer&&(o=new Uint8Array(o));var c,d,u,p,l,h,v,_,y,w,A,S,b,O,m,J,N,g,j,C,x,H,M=!0,B=!1,D=0,E=0,U=0,k=o.length;r?(c=3238371032,d=914150663,u=812702999,p=4144912697,l=4290775857,h=1750603025,v=1694076839,_=3204075428):(c=1779033703,d=3144134277,u=1013904242,p=2773480762,l=1359893119,h=2600822924,v=528734635,_=1541459225),y=0;do{if(a[0]=y,a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0,t)for(A=E;k>D&&64>A;++D)a[A>>2]|=o[D]<<f[3&A++];else for(A=E;k>D&&64>A;++D)w=o.charCodeAt(D),128>w?a[A>>2]|=w<<f[3&A++]:2048>w?(a[A>>2]|=(192|w>>6)<<f[3&A++],a[A>>2]|=(128|63&w)<<f[3&A++]):55296>w||w>=57344?(a[A>>2]|=(224|w>>12)<<f[3&A++],a[A>>2]|=(128|w>>6&63)<<f[3&A++],a[A>>2]|=(128|63&w)<<f[3&A++]):(w=65536+((1023&w)<<10|1023&o.charCodeAt(++D)),a[A>>2]|=(240|w>>18)<<f[3&A++],a[A>>2]|=(128|w>>12&63)<<f[3&A++],a[A>>2]|=(128|w>>6&63)<<f[3&A++],a[A>>2]|=(128|63&w)<<f[3&A++]);U+=A-E,E=A-64,D==k&&(a[A>>2]|=s[3&A],++D),y=a[16],D>k&&56>A&&(a[15]=U<<3,B=!0);var q=c,z=d,F=u,G=p,I=l,K=h,L=v,P=_;for(S=16;64>S;++S)J=a[S-15],b=(J>>>7|J<<25)^(J>>>18|J<<14)^J>>>3,J=a[S-2],O=(J>>>17|J<<15)^(J>>>19|J<<13)^J>>>10,a[S]=a[S-16]+b+a[S-7]+O<<0;for(H=z&F,S=0;64>S;S+=4)M?(r?(j=300032,J=a[0]-1413257819,P=J-150054599<<0,G=J+24177077<<0):(j=704751109,J=a[0]-210244248,P=J-1521486534<<0,G=J+143694565<<0),M=!1):(b=(q>>>2|q<<30)^(q>>>13|q<<19)^(q>>>22|q<<10),O=(I>>>6|I<<26)^(I>>>11|I<<21)^(I>>>25|I<<7),j=q&z,m=j^q&F^H,g=I&K^~I&L,J=P+O+g+i[S]+a[S],N=b+m,P=G+J<<0,G=J+N<<0),b=(G>>>2|G<<30)^(G>>>13|G<<19)^(G>>>22|G<<10),O=(P>>>6|P<<26)^(P>>>11|P<<21)^(P>>>25|P<<7),C=G&q,m=C^G&z^j,g=P&I^~P&K,J=L+O+g+i[S+1]+a[S+1],N=b+m,L=F+J<<0,F=J+N<<0,b=(F>>>2|F<<30)^(F>>>13|F<<19)^(F>>>22|F<<10),O=(L>>>6|L<<26)^(L>>>11|L<<21)^(L>>>25|L<<7),x=F&G,m=x^F&q^C,g=L&P^~L&I,J=K+O+g+i[S+2]+a[S+2],N=b+m,K=z+J<<0,z=J+N<<0,b=(z>>>2|z<<30)^(z>>>13|z<<19)^(z>>>22|z<<10),O=(K>>>6|K<<26)^(K>>>11|K<<21)^(K>>>25|K<<7),H=z&F,m=H^z&G^x,g=K&L^~K&P,J=I+O+g+i[S+3]+a[S+3],N=b+m,I=q+J<<0,q=J+N<<0;c=c+q<<0,d=d+z<<0,u=u+F<<0,p=p+G<<0,l=l+I<<0,h=h+K<<0,v=v+L<<0,_=_+P<<0}while(!B);var Q=n[c>>28&15]+n[c>>24&15]+n[c>>20&15]+n[c>>16&15]+n[c>>12&15]+n[c>>8&15]+n[c>>4&15]+n[15&c]+n[d>>28&15]+n[d>>24&15]+n[d>>20&15]+n[d>>16&15]+n[d>>12&15]+n[d>>8&15]+n[d>>4&15]+n[15&d]+n[u>>28&15]+n[u>>24&15]+n[u>>20&15]+n[u>>16&15]+n[u>>12&15]+n[u>>8&15]+n[u>>4&15]+n[15&u]+n[p>>28&15]+n[p>>24&15]+n[p>>20&15]+n[p>>16&15]+n[p>>12&15]+n[p>>8&15]+n[p>>4&15]+n[15&p]+n[l>>28&15]+n[l>>24&15]+n[l>>20&15]+n[l>>16&15]+n[l>>12&15]+n[l>>8&15]+n[l>>4&15]+n[15&l]+n[h>>28&15]+n[h>>24&15]+n[h>>20&15]+n[h>>16&15]+n[h>>12&15]+n[h>>8&15]+n[h>>4&15]+n[15&h]+n[v>>28&15]+n[v>>24&15]+n[v>>20&15]+n[v>>16&15]+n[v>>12&15]+n[v>>8&15]+n[v>>4&15]+n[15&v];return r||(Q+=n[_>>28&15]+n[_>>24&15]+n[_>>20&15]+n[_>>16&15]+n[_>>12&15]+n[_>>8&15]+n[_>>4&15]+n[15&_]),Q},u=d;u.sha256=d,u.sha224=c,r?module.exports=u:(e.sha256=d,e.sha224=c,t&&define(function(){return u}))}(); |