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.
js-sha256/build/sha256.min.js

9 lines
8.7 KiB
JavaScript

/**
* [js-sha256]{@link https://github.com/emn178/js-sha256}
*
* @version 0.9.0
* @author Chen, Yi-Cyuan [emn178@gmail.com]
* @copyright Chen, Yi-Cyuan 2014-2017
* @license MIT
*/
!function(){"use strict";var y="input is invalid type",t="object"==typeof window,i=t?window:{};i.JS_SHA256_NO_WINDOW&&(t=!1);var h=!t&&"object"==typeof self,s=!i.JS_SHA256_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;s?i=global:h&&(i=self);var r=!i.JS_SHA256_NO_COMMON_JS&&"object"==typeof module&&module.exports,e="function"==typeof define&&define.amd,p=!i.JS_SHA256_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,f="0123456789abcdef".split(""),n=[-2147483648,8388608,32768,128],o=[24,16,8,0],b=[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=["hex","array","digest","arrayBuffer"],u=[];!i.JS_SHA256_NO_NODE_JS&&Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),!p||!i.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(t){return"object"==typeof t&&t.buffer&&t.buffer.constructor===ArrayBuffer});var c=function(i,h){return function(t){return new v(h,!0).update(t)[i]()}},l=function(t){var i=c("hex",t);s&&(i=d(i,t)),i.create=function(){return new v(t)},i.update=function(t){return i.create().update(t)};for(var h=0;h<a.length;++h){var r=a[h];i[r]=c(r,t)}return i},d=function(i,t){var h=eval("require('crypto')"),r=eval("require('buffer').Buffer"),s=t?"sha224":"sha256",e=function(t){if("string"==typeof t)return h.createHash(s).update(t,"utf8").digest("hex");if(null==t)throw new Error(y);return t.constructor===ArrayBuffer&&(t=new Uint8Array(t)),Array.isArray(t)||ArrayBuffer.isView(t)||t.constructor===r?h.createHash(s).update(new r(t)).digest("hex"):i(t)};return e},A=function(h,r){return function(t,i){return new _(t,r,!0).update(i)[h]()}},w=function(i){var h=A("hex",i);h.create=function(t){return new _(t,i)},h.update=function(t,i){return h.create(t).update(i)};for(var t=0;t<a.length;++t){var r=a[t];h[r]=A(r,i)}return h};function v(t,i){i?(u[0]=u[16]=u[1]=u[2]=u[3]=u[4]=u[5]=u[6]=u[7]=u[8]=u[9]=u[10]=u[11]=u[12]=u[13]=u[14]=u[15]=0,this.blocks=u):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=t}function _(t,i,h){var r,s=typeof t;if("string"===s){var e,n=[],a=t.length,o=0;for(r=0;r<a;++r)(e=t.charCodeAt(r))<128?n[o++]=e:(e<2048?n[o++]=192|e>>6:(e<55296||57344<=e?n[o++]=224|e>>12:(e=65536+((1023&e)<<10|1023&t.charCodeAt(++r)),n[o++]=240|e>>18,n[o++]=128|e>>12&63),n[o++]=128|e>>6&63),n[o++]=128|63&e);t=n}else{if("object"!==s)throw new Error(y);if(null===t)throw new Error(y);if(p&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||p&&ArrayBuffer.isView(t)))throw new Error(y)}64<t.length&&(t=new v(i,!0).update(t).array());var f=[],u=[];for(r=0;r<64;++r){var c=t[r]||0;f[r]=92^c,u[r]=54^c}v.call(this,i,h),this.update(u),this.oKeyPad=f,this.inner=!0,this.sharedMemory=h}v.prototype.update=function(t){if(!this.finalized){var i,h=typeof t;if("string"!==h){if("object"!==h)throw new Error(y);if(null===t)throw new Error(y);if(p&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||p&&ArrayBuffer.isView(t)))throw new Error(y);i=!0}for(var r,s,e=0,n=t.lengt