@nebulaaa/md5 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/md5.cjs +8 -8
- package/dist/md5.d.ts +3 -3
- package/dist/md5.min.cjs +1 -1
- package/dist/md5.min.mjs +1 -1
- package/dist/md5.mjs +8 -8
- package/dist/package.json +1 -1
- package/package.json +1 -1
package/dist/md5.cjs
CHANGED
|
@@ -195,17 +195,17 @@ function CreateMd5Hasher() {
|
|
|
195
195
|
/**
|
|
196
196
|
* 初始化哈希器状态
|
|
197
197
|
*/
|
|
198
|
-
function
|
|
198
|
+
function Start() {
|
|
199
199
|
dataLength = 0;
|
|
200
200
|
bufferLength = 0;
|
|
201
201
|
state.set(MD5_STATE_IDENTITY);
|
|
202
|
-
return {
|
|
202
|
+
return { Start, Append, End };
|
|
203
203
|
}
|
|
204
204
|
/**
|
|
205
205
|
* 追加 UTF-8 字符串
|
|
206
206
|
* @param str - 要追加的字符串
|
|
207
207
|
*/
|
|
208
|
-
function
|
|
208
|
+
function Append(str) {
|
|
209
209
|
let bufLen = bufferLength;
|
|
210
210
|
let code;
|
|
211
211
|
for (let i = 0; i < str.length; i += 1) {
|
|
@@ -240,14 +240,14 @@ function CreateMd5Hasher() {
|
|
|
240
240
|
}
|
|
241
241
|
}
|
|
242
242
|
bufferLength = bufLen;
|
|
243
|
-
return {
|
|
243
|
+
return { Start, Append, End };
|
|
244
244
|
}
|
|
245
245
|
/**
|
|
246
246
|
* 完成哈希计算
|
|
247
247
|
* @param raw - 是否返回原始字节
|
|
248
248
|
* @returns MD5 哈希值
|
|
249
249
|
*/
|
|
250
|
-
function
|
|
250
|
+
function End(raw = false) {
|
|
251
251
|
const bufLen = bufferLength;
|
|
252
252
|
const i = (bufLen >> 2) + 1;
|
|
253
253
|
dataLength += bufLen;
|
|
@@ -274,7 +274,7 @@ function CreateMd5Hasher() {
|
|
|
274
274
|
md5cycle(state, buffer32);
|
|
275
275
|
return raw ? state : bytesToHex(state);
|
|
276
276
|
}
|
|
277
|
-
return
|
|
277
|
+
return Start();
|
|
278
278
|
}
|
|
279
279
|
// 创建单例哈希器用于一次性哈希
|
|
280
280
|
const ONE_PASS_HASHER = CreateMd5Hasher();
|
|
@@ -284,7 +284,7 @@ const ONE_PASS_HASHER = CreateMd5Hasher();
|
|
|
284
284
|
* @returns MD5 哈希字符串
|
|
285
285
|
*/
|
|
286
286
|
function Md5HashUTF8(str) {
|
|
287
|
-
return ONE_PASS_HASHER.
|
|
287
|
+
return ONE_PASS_HASHER.Start().Append(str).End();
|
|
288
288
|
}
|
|
289
289
|
/**
|
|
290
290
|
* 计算 ASCII 字符串的 MD5 哈希值
|
|
@@ -292,7 +292,7 @@ function Md5HashUTF8(str) {
|
|
|
292
292
|
* @returns MD5 哈希字符串
|
|
293
293
|
*/
|
|
294
294
|
function Md5HashAscii(str) {
|
|
295
|
-
return ONE_PASS_HASHER.
|
|
295
|
+
return ONE_PASS_HASHER.Start().Append(str).End();
|
|
296
296
|
}
|
|
297
297
|
|
|
298
298
|
exports.CreateMd5Hasher = CreateMd5Hasher;
|
package/dist/md5.d.ts
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* 提供 MD5 编码能力,支持 ASCII/UTF8
|
|
5
5
|
*/
|
|
6
6
|
interface Hasher {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
Append: (str: string) => Hasher;
|
|
8
|
+
End: (raw?: boolean) => string | Int32Array;
|
|
9
|
+
Start: () => Hasher;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* 创建 MD5 哈希器实例
|
package/dist/md5.min.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=new Int32Array([1732584193,-271733879,-1732584194,271733878]),
|
|
1
|
+
"use strict";const t=new Int32Array([1732584193,-271733879,-1732584194,271733878]),n=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),r="0123456789abcdef",e=new Int32Array(4);function o(t,n){let r=t[0],e=t[1],o=t[2],s=t[3];r+=(e&o|~e&s)+n[0]-680876936|0,r=(r<<7|r>>>25)+e|0,s+=(r&e|~r&o)+n[1]-389564586|0,s=(s<<12|s>>>20)+r|0,o+=(s&r|~s&e)+n[2]+606105819|0,o=(o<<17|o>>>15)+s|0,e+=(o&s|~o&r)+n[3]-1044525330|0,e=(e<<22|e>>>10)+o|0,r+=(e&o|~e&s)+n[4]-176418897|0,r=(r<<7|r>>>25)+e|0,s+=(r&e|~r&o)+n[5]+1200080426|0,s=(s<<12|s>>>20)+r|0,o+=(s&r|~s&e)+n[6]-1473231341|0,o=(o<<17|o>>>15)+s|0,e+=(o&s|~o&r)+n[7]-45705983|0,e=(e<<22|e>>>10)+o|0,r+=(e&o|~e&s)+n[8]+1770035416|0,r=(r<<7|r>>>25)+e|0,s+=(r&e|~r&o)+n[9]-1958414417|0,s=(s<<12|s>>>20)+r|0,o+=(s&r|~s&e)+n[10]-42063|0,o=(o<<17|o>>>15)+s|0,e+=(o&s|~o&r)+n[11]-1990404162|0,e=(e<<22|e>>>10)+o|0,r+=(e&o|~e&s)+n[12]+1804603682|0,r=(r<<7|r>>>25)+e|0,s+=(r&e|~r&o)+n[13]-40341101|0,s=(s<<12|s>>>20)+r|0,o+=(s&r|~s&e)+n[14]-1502002290|0,o=(o<<17|o>>>15)+s|0,e+=(o&s|~o&r)+n[15]+1236535329|0,e=(e<<22|e>>>10)+o|0,r+=(e&s|o&~s)+n[1]-165796510|0,r=(r<<5|r>>>27)+e|0,s+=(r&o|e&~o)+n[6]-1069501632|0,s=(s<<9|s>>>23)+r|0,o+=(s&e|r&~e)+n[11]+643717713|0,o=(o<<14|o>>>18)+s|0,e+=(o&r|s&~r)+n[0]-373897302|0,e=(e<<20|e>>>12)+o|0,r+=(e&s|o&~s)+n[5]-701558691|0,r=(r<<5|r>>>27)+e|0,s+=(r&o|e&~o)+n[10]+38016083|0,s=(s<<9|s>>>23)+r|0,o+=(s&e|r&~e)+n[15]-660478335|0,o=(o<<14|o>>>18)+s|0,e+=(o&r|s&~r)+n[4]-405537848|0,e=(e<<20|e>>>12)+o|0,r+=(e&s|o&~s)+n[9]+568446438|0,r=(r<<5|r>>>27)+e|0,s+=(r&o|e&~o)+n[14]-1019803690|0,s=(s<<9|s>>>23)+r|0,o+=(s&e|r&~e)+n[3]-187363961|0,o=(o<<14|o>>>18)+s|0,e+=(o&r|s&~r)+n[8]+1163531501|0,e=(e<<20|e>>>12)+o|0,r+=(e&s|o&~s)+n[13]-1444681467|0,r=(r<<5|r>>>27)+e|0,s+=(r&o|e&~o)+n[2]-51403784|0,s=(s<<9|s>>>23)+r|0,o+=(s&e|r&~e)+n[7]+1735328473|0,o=(o<<14|o>>>18)+s|0,e+=(o&r|s&~r)+n[12]-1926607734|0,e=(e<<20|e>>>12)+o|0,r+=(e^o^s)+n[5]-378558|0,r=(r<<4|r>>>28)+e|0,s+=(r^e^o)+n[8]-2022574463|0,s=(s<<11|s>>>21)+r|0,o+=(s^r^e)+n[11]+1839030562|0,o=(o<<16|o>>>16)+s|0,e+=(o^s^r)+n[14]-35309556|0,e=(e<<23|e>>>9)+o|0,r+=(e^o^s)+n[1]-1530992060|0,r=(r<<4|r>>>28)+e|0,s+=(r^e^o)+n[4]+1272893353|0,s=(s<<11|s>>>21)+r|0,o+=(s^r^e)+n[7]-155497632|0,o=(o<<16|o>>>16)+s|0,e+=(o^s^r)+n[10]-1094730640|0,e=(e<<23|e>>>9)+o|0,r+=(e^o^s)+n[13]+681279174|0,r=(r<<4|r>>>28)+e|0,s+=(r^e^o)+n[0]-358537222|0,s=(s<<11|s>>>21)+r|0,o+=(s^r^e)+n[3]-722521979|0,o=(o<<16|o>>>16)+s|0,e+=(o^s^r)+n[6]+76029189|0,e=(e<<23|e>>>9)+o|0,r+=(e^o^s)+n[9]-640364487|0,r=(r<<4|r>>>28)+e|0,s+=(r^e^o)+n[12]-421815835|0,s=(s<<11|s>>>21)+r|0,o+=(s^r^e)+n[15]+530742520|0,o=(o<<16|o>>>16)+s|0,e+=(o^s^r)+n[2]-995338651|0,e=(e<<23|e>>>9)+o|0,r+=(o^(e|~s))+n[0]-198630844|0,r=(r<<6|r>>>26)+e|0,s+=(e^(r|~o))+n[7]+1126891415|0,s=(s<<10|s>>>22)+r|0,o+=(r^(s|~e))+n[14]-1416354905|0,o=(o<<15|o>>>17)+s|0,e+=(s^(o|~r))+n[5]-57434055|0,e=(e<<21|e>>>11)+o|0,r+=(o^(e|~s))+n[12]+1700485571|0,r=(r<<6|r>>>26)+e|0,s+=(e^(r|~o))+n[3]-1894986606|0,s=(s<<10|s>>>22)+r|0,o+=(r^(s|~e))+n[10]-1051523|0,o=(o<<15|o>>>17)+s|0,e+=(s^(o|~r))+n[1]-2054922799|0,e=(e<<21|e>>>11)+o|0,r+=(o^(e|~s))+n[8]+1873313359|0,r=(r<<6|r>>>26)+e|0,s+=(e^(r|~o))+n[15]-30611744|0,s=(s<<10|s>>>22)+r|0,o+=(r^(s|~e))+n[6]-1560198380|0,o=(o<<15|o>>>17)+s|0,e+=(s^(o|~r))+n[13]+1309151649|0,e=(e<<21|e>>>11)+o|0,r+=(o^(e|~s))+n[4]-145523070|0,r=(r<<6|r>>>26)+e|0,s+=(e^(r|~o))+n[11]-1120210379|0,s=(s<<10|s>>>22)+r|0,o+=(r^(s|~e))+n[2]+718787259|0,o=(o<<15|o>>>17)+s|0,e+=(s^(o|~r))+n[9]-343485551|0,e=(e<<21|e>>>11)+o|0,t[0]=r+t[0]|0,t[1]=e+t[1]|0,t[2]=o+t[2]|0,t[3]=s+t[3]|0}function s(){let s=0,a=0;const c=new Int32Array(4),i=new ArrayBuffer(68),u=new Uint8Array(i,0,68),f=new Uint32Array(i,0,17);function d(){return s=0,a=0,c.set(t),{Start:d,Append:p,End:A}}function p(t){let n,r=a;for(let e=0;e<t.length;e+=1){if(n=t.charCodeAt(e),n<128)u[r++]=n;else if(n<2048)u[r++]=(n>>>6)+192,u[r++]=63&n|128;else if(n<55296||n>56319)u[r++]=(n>>>12)+224,u[r++]=n>>>6&63|128,u[r++]=63&n|128;else{if(n=1024*(n-55296)+(t.charCodeAt(++e)-56320)+65536,n>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");u[r++]=(n>>>18)+240,u[r++]=n>>>12&63|128,u[r++]=n>>>6&63|128,u[r++]=63&n|128}r>=64&&(s+=64,o(c,f),r-=64,f[0]=f[16])}return a=r,{Start:d,Append:p,End:A}}function A(t=!1){const i=a,d=1+(i>>2);s+=i;const p=8*s;if(u[i]=128,u[i+1]=u[i+2]=u[i+3]=0,f.set(n.subarray(d),d),i>55&&(o(c,f),f.set(n)),p<=4294967295)f[14]=p;else{const n=p.toString(16).match(/(.*?)(.{0,8})$/);if(null===n)return t?e:"";const r=parseInt(n[2],16),o=parseInt(n[1],16)||0;f[14]=r,f[15]=o}return o(c,f),t?c:function(t){const n=Array(32).fill("");let e,o;for(let s=0;s<4;s+=1){e=8*s;let a=t[s];for(o=0;o<8;o+=2)n[e+1+o]=r.charAt(15&a),a>>>=4,n[e+0+o]=r.charAt(15&a),a>>>=4}return n.join("")}(c)}return d()}const a=s();exports.CreateMd5Hasher=s,exports.Md5HashAscii=function(t){return a.Start().Append(t).End()},exports.Md5HashUTF8=function(t){return a.Start().Append(t).End()},exports.Md5Hasher=a;
|
package/dist/md5.min.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=new Int32Array([1732584193,-271733879,-1732584194,271733878]),n=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),r="0123456789abcdef",e=new Int32Array(4);function o(t,n){let r=t[0],e=t[1],o=t[2],a=t[3];r+=(e&o|~e&a)+n[0]-680876936|0,r=(r<<7|r>>>25)+e|0,a+=(r&e|~r&o)+n[1]-389564586|0,a=(a<<12|a>>>20)+r|0,o+=(a&r|~a&e)+n[2]+606105819|0,o=(o<<17|o>>>15)+a|0,e+=(o&a|~o&r)+n[3]-1044525330|0,e=(e<<22|e>>>10)+o|0,r+=(e&o|~e&a)+n[4]-176418897|0,r=(r<<7|r>>>25)+e|0,a+=(r&e|~r&o)+n[5]+1200080426|0,a=(a<<12|a>>>20)+r|0,o+=(a&r|~a&e)+n[6]-1473231341|0,o=(o<<17|o>>>15)+a|0,e+=(o&a|~o&r)+n[7]-45705983|0,e=(e<<22|e>>>10)+o|0,r+=(e&o|~e&a)+n[8]+1770035416|0,r=(r<<7|r>>>25)+e|0,a+=(r&e|~r&o)+n[9]-1958414417|0,a=(a<<12|a>>>20)+r|0,o+=(a&r|~a&e)+n[10]-42063|0,o=(o<<17|o>>>15)+a|0,e+=(o&a|~o&r)+n[11]-1990404162|0,e=(e<<22|e>>>10)+o|0,r+=(e&o|~e&a)+n[12]+1804603682|0,r=(r<<7|r>>>25)+e|0,a+=(r&e|~r&o)+n[13]-40341101|0,a=(a<<12|a>>>20)+r|0,o+=(a&r|~a&e)+n[14]-1502002290|0,o=(o<<17|o>>>15)+a|0,e+=(o&a|~o&r)+n[15]+1236535329|0,e=(e<<22|e>>>10)+o|0,r+=(e&a|o&~a)+n[1]-165796510|0,r=(r<<5|r>>>27)+e|0,a+=(r&o|e&~o)+n[6]-1069501632|0,a=(a<<9|a>>>23)+r|0,o+=(a&e|r&~e)+n[11]+643717713|0,o=(o<<14|o>>>18)+a|0,e+=(o&r|a&~r)+n[0]-373897302|0,e=(e<<20|e>>>12)+o|0,r+=(e&a|o&~a)+n[5]-701558691|0,r=(r<<5|r>>>27)+e|0,a+=(r&o|e&~o)+n[10]+38016083|0,a=(a<<9|a>>>23)+r|0,o+=(a&e|r&~e)+n[15]-660478335|0,o=(o<<14|o>>>18)+a|0,e+=(o&r|a&~r)+n[4]-405537848|0,e=(e<<20|e>>>12)+o|0,r+=(e&a|o&~a)+n[9]+568446438|0,r=(r<<5|r>>>27)+e|0,a+=(r&o|e&~o)+n[14]-1019803690|0,a=(a<<9|a>>>23)+r|0,o+=(a&e|r&~e)+n[3]-187363961|0,o=(o<<14|o>>>18)+a|0,e+=(o&r|a&~r)+n[8]+1163531501|0,e=(e<<20|e>>>12)+o|0,r+=(e&a|o&~a)+n[13]-1444681467|0,r=(r<<5|r>>>27)+e|0,a+=(r&o|e&~o)+n[2]-51403784|0,a=(a<<9|a>>>23)+r|0,o+=(a&e|r&~e)+n[7]+1735328473|0,o=(o<<14|o>>>18)+a|0,e+=(o&r|a&~r)+n[12]-1926607734|0,e=(e<<20|e>>>12)+o|0,r+=(e^o^a)+n[5]-378558|0,r=(r<<4|r>>>28)+e|0,a+=(r^e^o)+n[8]-2022574463|0,a=(a<<11|a>>>21)+r|0,o+=(a^r^e)+n[11]+1839030562|0,o=(o<<16|o>>>16)+a|0,e+=(o^a^r)+n[14]-35309556|0,e=(e<<23|e>>>9)+o|0,r+=(e^o^a)+n[1]-1530992060|0,r=(r<<4|r>>>28)+e|0,a+=(r^e^o)+n[4]+1272893353|0,a=(a<<11|a>>>21)+r|0,o+=(a^r^e)+n[7]-155497632|0,o=(o<<16|o>>>16)+a|0,e+=(o^a^r)+n[10]-1094730640|0,e=(e<<23|e>>>9)+o|0,r+=(e^o^a)+n[13]+681279174|0,r=(r<<4|r>>>28)+e|0,a+=(r^e^o)+n[0]-358537222|0,a=(a<<11|a>>>21)+r|0,o+=(a^r^e)+n[3]-722521979|0,o=(o<<16|o>>>16)+a|0,e+=(o^a^r)+n[6]+76029189|0,e=(e<<23|e>>>9)+o|0,r+=(e^o^a)+n[9]-640364487|0,r=(r<<4|r>>>28)+e|0,a+=(r^e^o)+n[12]-421815835|0,a=(a<<11|a>>>21)+r|0,o+=(a^r^e)+n[15]+530742520|0,o=(o<<16|o>>>16)+a|0,e+=(o^a^r)+n[2]-995338651|0,e=(e<<23|e>>>9)+o|0,r+=(o^(e|~a))+n[0]-198630844|0,r=(r<<6|r>>>26)+e|0,a+=(e^(r|~o))+n[7]+1126891415|0,a=(a<<10|a>>>22)+r|0,o+=(r^(a|~e))+n[14]-1416354905|0,o=(o<<15|o>>>17)+a|0,e+=(a^(o|~r))+n[5]-57434055|0,e=(e<<21|e>>>11)+o|0,r+=(o^(e|~a))+n[12]+1700485571|0,r=(r<<6|r>>>26)+e|0,a+=(e^(r|~o))+n[3]-1894986606|0,a=(a<<10|a>>>22)+r|0,o+=(r^(a|~e))+n[10]-1051523|0,o=(o<<15|o>>>17)+a|0,e+=(a^(o|~r))+n[1]-2054922799|0,e=(e<<21|e>>>11)+o|0,r+=(o^(e|~a))+n[8]+1873313359|0,r=(r<<6|r>>>26)+e|0,a+=(e^(r|~o))+n[15]-30611744|0,a=(a<<10|a>>>22)+r|0,o+=(r^(a|~e))+n[6]-1560198380|0,o=(o<<15|o>>>17)+a|0,e+=(a^(o|~r))+n[13]+1309151649|0,e=(e<<21|e>>>11)+o|0,r+=(o^(e|~a))+n[4]-145523070|0,r=(r<<6|r>>>26)+e|0,a+=(e^(r|~o))+n[11]-1120210379|0,a=(a<<10|a>>>22)+r|0,o+=(r^(a|~e))+n[2]+718787259|0,o=(o<<15|o>>>17)+a|0,e+=(a^(o|~r))+n[9]-343485551|0,e=(e<<21|e>>>11)+o|0,t[0]=r+t[0]|0,t[1]=e+t[1]|0,t[2]=o+t[2]|0,t[3]=a+t[3]|0}function a(){let a=0,
|
|
1
|
+
const t=new Int32Array([1732584193,-271733879,-1732584194,271733878]),n=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),r="0123456789abcdef",e=new Int32Array(4);function o(t,n){let r=t[0],e=t[1],o=t[2],a=t[3];r+=(e&o|~e&a)+n[0]-680876936|0,r=(r<<7|r>>>25)+e|0,a+=(r&e|~r&o)+n[1]-389564586|0,a=(a<<12|a>>>20)+r|0,o+=(a&r|~a&e)+n[2]+606105819|0,o=(o<<17|o>>>15)+a|0,e+=(o&a|~o&r)+n[3]-1044525330|0,e=(e<<22|e>>>10)+o|0,r+=(e&o|~e&a)+n[4]-176418897|0,r=(r<<7|r>>>25)+e|0,a+=(r&e|~r&o)+n[5]+1200080426|0,a=(a<<12|a>>>20)+r|0,o+=(a&r|~a&e)+n[6]-1473231341|0,o=(o<<17|o>>>15)+a|0,e+=(o&a|~o&r)+n[7]-45705983|0,e=(e<<22|e>>>10)+o|0,r+=(e&o|~e&a)+n[8]+1770035416|0,r=(r<<7|r>>>25)+e|0,a+=(r&e|~r&o)+n[9]-1958414417|0,a=(a<<12|a>>>20)+r|0,o+=(a&r|~a&e)+n[10]-42063|0,o=(o<<17|o>>>15)+a|0,e+=(o&a|~o&r)+n[11]-1990404162|0,e=(e<<22|e>>>10)+o|0,r+=(e&o|~e&a)+n[12]+1804603682|0,r=(r<<7|r>>>25)+e|0,a+=(r&e|~r&o)+n[13]-40341101|0,a=(a<<12|a>>>20)+r|0,o+=(a&r|~a&e)+n[14]-1502002290|0,o=(o<<17|o>>>15)+a|0,e+=(o&a|~o&r)+n[15]+1236535329|0,e=(e<<22|e>>>10)+o|0,r+=(e&a|o&~a)+n[1]-165796510|0,r=(r<<5|r>>>27)+e|0,a+=(r&o|e&~o)+n[6]-1069501632|0,a=(a<<9|a>>>23)+r|0,o+=(a&e|r&~e)+n[11]+643717713|0,o=(o<<14|o>>>18)+a|0,e+=(o&r|a&~r)+n[0]-373897302|0,e=(e<<20|e>>>12)+o|0,r+=(e&a|o&~a)+n[5]-701558691|0,r=(r<<5|r>>>27)+e|0,a+=(r&o|e&~o)+n[10]+38016083|0,a=(a<<9|a>>>23)+r|0,o+=(a&e|r&~e)+n[15]-660478335|0,o=(o<<14|o>>>18)+a|0,e+=(o&r|a&~r)+n[4]-405537848|0,e=(e<<20|e>>>12)+o|0,r+=(e&a|o&~a)+n[9]+568446438|0,r=(r<<5|r>>>27)+e|0,a+=(r&o|e&~o)+n[14]-1019803690|0,a=(a<<9|a>>>23)+r|0,o+=(a&e|r&~e)+n[3]-187363961|0,o=(o<<14|o>>>18)+a|0,e+=(o&r|a&~r)+n[8]+1163531501|0,e=(e<<20|e>>>12)+o|0,r+=(e&a|o&~a)+n[13]-1444681467|0,r=(r<<5|r>>>27)+e|0,a+=(r&o|e&~o)+n[2]-51403784|0,a=(a<<9|a>>>23)+r|0,o+=(a&e|r&~e)+n[7]+1735328473|0,o=(o<<14|o>>>18)+a|0,e+=(o&r|a&~r)+n[12]-1926607734|0,e=(e<<20|e>>>12)+o|0,r+=(e^o^a)+n[5]-378558|0,r=(r<<4|r>>>28)+e|0,a+=(r^e^o)+n[8]-2022574463|0,a=(a<<11|a>>>21)+r|0,o+=(a^r^e)+n[11]+1839030562|0,o=(o<<16|o>>>16)+a|0,e+=(o^a^r)+n[14]-35309556|0,e=(e<<23|e>>>9)+o|0,r+=(e^o^a)+n[1]-1530992060|0,r=(r<<4|r>>>28)+e|0,a+=(r^e^o)+n[4]+1272893353|0,a=(a<<11|a>>>21)+r|0,o+=(a^r^e)+n[7]-155497632|0,o=(o<<16|o>>>16)+a|0,e+=(o^a^r)+n[10]-1094730640|0,e=(e<<23|e>>>9)+o|0,r+=(e^o^a)+n[13]+681279174|0,r=(r<<4|r>>>28)+e|0,a+=(r^e^o)+n[0]-358537222|0,a=(a<<11|a>>>21)+r|0,o+=(a^r^e)+n[3]-722521979|0,o=(o<<16|o>>>16)+a|0,e+=(o^a^r)+n[6]+76029189|0,e=(e<<23|e>>>9)+o|0,r+=(e^o^a)+n[9]-640364487|0,r=(r<<4|r>>>28)+e|0,a+=(r^e^o)+n[12]-421815835|0,a=(a<<11|a>>>21)+r|0,o+=(a^r^e)+n[15]+530742520|0,o=(o<<16|o>>>16)+a|0,e+=(o^a^r)+n[2]-995338651|0,e=(e<<23|e>>>9)+o|0,r+=(o^(e|~a))+n[0]-198630844|0,r=(r<<6|r>>>26)+e|0,a+=(e^(r|~o))+n[7]+1126891415|0,a=(a<<10|a>>>22)+r|0,o+=(r^(a|~e))+n[14]-1416354905|0,o=(o<<15|o>>>17)+a|0,e+=(a^(o|~r))+n[5]-57434055|0,e=(e<<21|e>>>11)+o|0,r+=(o^(e|~a))+n[12]+1700485571|0,r=(r<<6|r>>>26)+e|0,a+=(e^(r|~o))+n[3]-1894986606|0,a=(a<<10|a>>>22)+r|0,o+=(r^(a|~e))+n[10]-1051523|0,o=(o<<15|o>>>17)+a|0,e+=(a^(o|~r))+n[1]-2054922799|0,e=(e<<21|e>>>11)+o|0,r+=(o^(e|~a))+n[8]+1873313359|0,r=(r<<6|r>>>26)+e|0,a+=(e^(r|~o))+n[15]-30611744|0,a=(a<<10|a>>>22)+r|0,o+=(r^(a|~e))+n[6]-1560198380|0,o=(o<<15|o>>>17)+a|0,e+=(a^(o|~r))+n[13]+1309151649|0,e=(e<<21|e>>>11)+o|0,r+=(o^(e|~a))+n[4]-145523070|0,r=(r<<6|r>>>26)+e|0,a+=(e^(r|~o))+n[11]-1120210379|0,a=(a<<10|a>>>22)+r|0,o+=(r^(a|~e))+n[2]+718787259|0,o=(o<<15|o>>>17)+a|0,e+=(a^(o|~r))+n[9]-343485551|0,e=(e<<21|e>>>11)+o|0,t[0]=r+t[0]|0,t[1]=e+t[1]|0,t[2]=o+t[2]|0,t[3]=a+t[3]|0}function a(){let a=0,c=0;const s=new Int32Array(4),f=new ArrayBuffer(68),i=new Uint8Array(f,0,68),u=new Uint32Array(f,0,17);function d(){return a=0,c=0,s.set(t),{Start:d,Append:l,End:A}}function l(t){let n,r=c;for(let e=0;e<t.length;e+=1){if(n=t.charCodeAt(e),n<128)i[r++]=n;else if(n<2048)i[r++]=(n>>>6)+192,i[r++]=63&n|128;else if(n<55296||n>56319)i[r++]=(n>>>12)+224,i[r++]=n>>>6&63|128,i[r++]=63&n|128;else{if(n=1024*(n-55296)+(t.charCodeAt(++e)-56320)+65536,n>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");i[r++]=(n>>>18)+240,i[r++]=n>>>12&63|128,i[r++]=n>>>6&63|128,i[r++]=63&n|128}r>=64&&(a+=64,o(s,u),r-=64,u[0]=u[16])}return c=r,{Start:d,Append:l,End:A}}function A(t=!1){const f=c,d=1+(f>>2);a+=f;const l=8*a;if(i[f]=128,i[f+1]=i[f+2]=i[f+3]=0,u.set(n.subarray(d),d),f>55&&(o(s,u),u.set(n)),l<=4294967295)u[14]=l;else{const n=l.toString(16).match(/(.*?)(.{0,8})$/);if(null===n)return t?e:"";const r=parseInt(n[2],16),o=parseInt(n[1],16)||0;u[14]=r,u[15]=o}return o(s,u),t?s:function(t){const n=Array(32).fill("");let e,o;for(let a=0;a<4;a+=1){e=8*a;let c=t[a];for(o=0;o<8;o+=2)n[e+1+o]=r.charAt(15&c),c>>>=4,n[e+0+o]=r.charAt(15&c),c>>>=4}return n.join("")}(s)}return d()}const c=a();function s(t){return c.Start().Append(t).End()}function f(t){return c.Start().Append(t).End()}export{a as CreateMd5Hasher,f as Md5HashAscii,s as Md5HashUTF8,c as Md5Hasher};
|
package/dist/md5.mjs
CHANGED
|
@@ -193,17 +193,17 @@ function CreateMd5Hasher() {
|
|
|
193
193
|
/**
|
|
194
194
|
* 初始化哈希器状态
|
|
195
195
|
*/
|
|
196
|
-
function
|
|
196
|
+
function Start() {
|
|
197
197
|
dataLength = 0;
|
|
198
198
|
bufferLength = 0;
|
|
199
199
|
state.set(MD5_STATE_IDENTITY);
|
|
200
|
-
return {
|
|
200
|
+
return { Start, Append, End };
|
|
201
201
|
}
|
|
202
202
|
/**
|
|
203
203
|
* 追加 UTF-8 字符串
|
|
204
204
|
* @param str - 要追加的字符串
|
|
205
205
|
*/
|
|
206
|
-
function
|
|
206
|
+
function Append(str) {
|
|
207
207
|
let bufLen = bufferLength;
|
|
208
208
|
let code;
|
|
209
209
|
for (let i = 0; i < str.length; i += 1) {
|
|
@@ -238,14 +238,14 @@ function CreateMd5Hasher() {
|
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
bufferLength = bufLen;
|
|
241
|
-
return {
|
|
241
|
+
return { Start, Append, End };
|
|
242
242
|
}
|
|
243
243
|
/**
|
|
244
244
|
* 完成哈希计算
|
|
245
245
|
* @param raw - 是否返回原始字节
|
|
246
246
|
* @returns MD5 哈希值
|
|
247
247
|
*/
|
|
248
|
-
function
|
|
248
|
+
function End(raw = false) {
|
|
249
249
|
const bufLen = bufferLength;
|
|
250
250
|
const i = (bufLen >> 2) + 1;
|
|
251
251
|
dataLength += bufLen;
|
|
@@ -272,7 +272,7 @@ function CreateMd5Hasher() {
|
|
|
272
272
|
md5cycle(state, buffer32);
|
|
273
273
|
return raw ? state : bytesToHex(state);
|
|
274
274
|
}
|
|
275
|
-
return
|
|
275
|
+
return Start();
|
|
276
276
|
}
|
|
277
277
|
// 创建单例哈希器用于一次性哈希
|
|
278
278
|
const ONE_PASS_HASHER = CreateMd5Hasher();
|
|
@@ -282,7 +282,7 @@ const ONE_PASS_HASHER = CreateMd5Hasher();
|
|
|
282
282
|
* @returns MD5 哈希字符串
|
|
283
283
|
*/
|
|
284
284
|
function Md5HashUTF8(str) {
|
|
285
|
-
return ONE_PASS_HASHER.
|
|
285
|
+
return ONE_PASS_HASHER.Start().Append(str).End();
|
|
286
286
|
}
|
|
287
287
|
/**
|
|
288
288
|
* 计算 ASCII 字符串的 MD5 哈希值
|
|
@@ -290,7 +290,7 @@ function Md5HashUTF8(str) {
|
|
|
290
290
|
* @returns MD5 哈希字符串
|
|
291
291
|
*/
|
|
292
292
|
function Md5HashAscii(str) {
|
|
293
|
-
return ONE_PASS_HASHER.
|
|
293
|
+
return ONE_PASS_HASHER.Start().Append(str).End();
|
|
294
294
|
}
|
|
295
295
|
|
|
296
296
|
export { CreateMd5Hasher, Md5HashAscii, Md5HashUTF8, ONE_PASS_HASHER as Md5Hasher };
|
package/dist/package.json
CHANGED