@nats-io/obj 3.0.0-33 → 3.0.0-35
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/lib/internal_mod.d.ts +0 -1
- package/lib/internal_mod.js +1 -4
- package/lib/internal_mod.js.map +1 -1
- package/lib/objectstore.d.ts +1 -1
- package/lib/objectstore.js +17 -15
- package/lib/objectstore.js.map +1 -1
- package/lib/sha_digest.parser.d.ts +2 -0
- package/lib/sha_digest.parser.js +97 -0
- package/lib/sha_digest.parser.js.map +1 -0
- package/package.json +5 -4
- package/lib/sha256.d.ts +0 -19
- package/lib/sha256.js +0 -371
- package/lib/sha256.js.map +0 -1
package/lib/internal_mod.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export type { ObjectInfo, ObjectResult, ObjectStore, ObjectStoreLink, ObjectStoreMeta, ObjectStoreMetaOptions, ObjectStoreOptions, ObjectStorePutOpts, ObjectStoreStatus, ObjectWatchInfo, Placement, } from "./types";
|
|
2
2
|
export { StorageType } from "./types";
|
|
3
3
|
export { Objm } from "./objectstore";
|
|
4
|
-
export { SHA256, sha256 } from "./sha256";
|
|
5
4
|
export { Base64Codec, Base64UrlCodec, Base64UrlPaddedCodec } from "./base64";
|
package/lib/internal_mod.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Base64UrlPaddedCodec = exports.Base64UrlCodec = exports.Base64Codec = exports.
|
|
3
|
+
exports.Base64UrlPaddedCodec = exports.Base64UrlCodec = exports.Base64Codec = exports.Objm = exports.StorageType = void 0;
|
|
4
4
|
var types_1 = require("./types");
|
|
5
5
|
Object.defineProperty(exports, "StorageType", { enumerable: true, get: function () { return types_1.StorageType; } });
|
|
6
6
|
var objectstore_1 = require("./objectstore");
|
|
7
7
|
Object.defineProperty(exports, "Objm", { enumerable: true, get: function () { return objectstore_1.Objm; } });
|
|
8
|
-
var sha256_1 = require("./sha256");
|
|
9
|
-
Object.defineProperty(exports, "SHA256", { enumerable: true, get: function () { return sha256_1.SHA256; } });
|
|
10
|
-
Object.defineProperty(exports, "sha256", { enumerable: true, get: function () { return sha256_1.sha256; } });
|
|
11
8
|
var base64_1 = require("./base64");
|
|
12
9
|
Object.defineProperty(exports, "Base64Codec", { enumerable: true, get: function () { return base64_1.Base64Codec; } });
|
|
13
10
|
Object.defineProperty(exports, "Base64UrlCodec", { enumerable: true, get: function () { return base64_1.Base64UrlCodec; } });
|
package/lib/internal_mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal_mod.js","sourceRoot":"","sources":["../build/src/internal_mod.ts"],"names":[],"mappings":";;;AAcA,iCAAsC;AAA7B,oGAAA,WAAW,OAAA;AAEpB,6CAAqC;AAA5B,mGAAA,IAAI,OAAA;AAEb,
|
|
1
|
+
{"version":3,"file":"internal_mod.js","sourceRoot":"","sources":["../build/src/internal_mod.ts"],"names":[],"mappings":";;;AAcA,iCAAsC;AAA7B,oGAAA,WAAW,OAAA;AAEpB,6CAAqC;AAA5B,mGAAA,IAAI,OAAA;AAEb,mCAA6E;AAApE,qGAAA,WAAW,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,8GAAA,oBAAoB,OAAA"}
|
package/lib/objectstore.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export declare class Objm {
|
|
|
32
32
|
*/
|
|
33
33
|
open(name: string, check?: boolean): Promise<ObjectStore>;
|
|
34
34
|
/**
|
|
35
|
-
* Returns a list of
|
|
35
|
+
* Returns a list of ObjectStoreStatus for all streams that are identified as
|
|
36
36
|
* being a ObjectStore (that is having names that have the prefix `OBJ_`)
|
|
37
37
|
*/
|
|
38
38
|
list(): Lister<ObjectStoreStatus>;
|
package/lib/objectstore.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright 2022-
|
|
3
|
+
* Copyright 2022-2025 The NATS Authors
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
6
6
|
* You may obtain a copy of the License at
|
|
@@ -20,8 +20,9 @@ exports.objectStoreBucketName = objectStoreBucketName;
|
|
|
20
20
|
exports.validateBucket = validateBucket;
|
|
21
21
|
const internal_1 = require("@nats-io/nats-core/internal");
|
|
22
22
|
const internal_2 = require("@nats-io/jetstream/internal");
|
|
23
|
-
const sha256_1 = require("./sha256");
|
|
24
23
|
const base64_1 = require("./base64");
|
|
24
|
+
const js_sha256_1 = require("js-sha256");
|
|
25
|
+
const sha_digest_parser_1 = require("./sha_digest.parser");
|
|
25
26
|
exports.osPrefix = "OBJ_";
|
|
26
27
|
exports.digestType = "SHA-256=";
|
|
27
28
|
function objectStoreStreamName(bucket) {
|
|
@@ -82,7 +83,7 @@ class Objm {
|
|
|
82
83
|
return ObjectStoreImpl.create(this.js, name, opts);
|
|
83
84
|
}
|
|
84
85
|
/**
|
|
85
|
-
* Returns a list of
|
|
86
|
+
* Returns a list of ObjectStoreStatus for all streams that are identified as
|
|
86
87
|
* being a ObjectStore (that is having names that have the prefix `OBJ_`)
|
|
87
88
|
*/
|
|
88
89
|
list() {
|
|
@@ -346,7 +347,7 @@ class ObjectStoreImpl {
|
|
|
346
347
|
const db = new internal_1.DataBuffer();
|
|
347
348
|
try {
|
|
348
349
|
const reader = rs ? rs.getReader() : null;
|
|
349
|
-
const sha =
|
|
350
|
+
const sha = js_sha256_1.sha256.create();
|
|
350
351
|
while (true) {
|
|
351
352
|
const { done, value } = reader
|
|
352
353
|
? await reader.read()
|
|
@@ -365,10 +366,8 @@ class ObjectStoreImpl {
|
|
|
365
366
|
proms.length = 0;
|
|
366
367
|
// prepare the metadata
|
|
367
368
|
info.mtime = new Date().toISOString();
|
|
368
|
-
const digest = sha.digest(
|
|
369
|
-
|
|
370
|
-
const padding = pad > 0 ? "=".repeat(pad) : "";
|
|
371
|
-
info.digest = `${exports.digestType}${digest}${padding}`;
|
|
369
|
+
const digest = base64_1.Base64UrlPaddedCodec.encode(Uint8Array.from(sha.digest()));
|
|
370
|
+
info.digest = `${exports.digestType}${digest}`;
|
|
372
371
|
info.deleted = false;
|
|
373
372
|
// trailing md for the object
|
|
374
373
|
const h = (0, internal_1.headers)();
|
|
@@ -483,6 +482,13 @@ class ObjectStoreImpl {
|
|
|
483
482
|
: this;
|
|
484
483
|
return os.get(ln);
|
|
485
484
|
}
|
|
485
|
+
if (!info.digest.startsWith(exports.digestType)) {
|
|
486
|
+
return Promise.reject(new Error(`unknown digest type: ${info.digest}`));
|
|
487
|
+
}
|
|
488
|
+
const digest = (0, sha_digest_parser_1.parseSha256)(info.digest.substring(8));
|
|
489
|
+
if (digest === null) {
|
|
490
|
+
return Promise.reject(new Error(`unable to parse digest: ${info.digest}`));
|
|
491
|
+
}
|
|
486
492
|
const d = (0, internal_1.deferred)();
|
|
487
493
|
const r = {
|
|
488
494
|
info: new ObjectInfoImpl(info),
|
|
@@ -493,7 +499,7 @@ class ObjectStoreImpl {
|
|
|
493
499
|
d.resolve(null);
|
|
494
500
|
return Promise.resolve(r);
|
|
495
501
|
}
|
|
496
|
-
const sha =
|
|
502
|
+
const sha = js_sha256_1.sha256.create();
|
|
497
503
|
let controller;
|
|
498
504
|
const cc = {};
|
|
499
505
|
cc.filter_subject = `$O.${this.name}.C.${info.nuid}`;
|
|
@@ -506,12 +512,8 @@ class ObjectStoreImpl {
|
|
|
506
512
|
controller.enqueue(jm.data);
|
|
507
513
|
}
|
|
508
514
|
if (jm.info.pending === 0) {
|
|
509
|
-
const
|
|
510
|
-
|
|
511
|
-
const pad = hash.length % 3;
|
|
512
|
-
const padding = pad > 0 ? "=".repeat(pad) : "";
|
|
513
|
-
const digest = `${exports.digestType}${hash}${padding}`;
|
|
514
|
-
if (digest !== info.digest) {
|
|
515
|
+
const digest = Uint8Array.from(sha.digest());
|
|
516
|
+
if (!(0, sha_digest_parser_1.checkSha256)(digest, Uint8Array.from(sha.digest()))) {
|
|
515
517
|
controller.error(new Error(`received a corrupt object, digests do not match received: ${info.digest} calculated ${digest}`));
|
|
516
518
|
}
|
|
517
519
|
else {
|
package/lib/objectstore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectstore.js","sourceRoot":"","sources":["../build/src/objectstore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"objectstore.js","sourceRoot":"","sources":["../build/src/objectstore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2025 The NATS Authors
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.parseSha256 = parseSha256;
|
|
18
|
+
exports.checkSha256 = checkSha256;
|
|
19
|
+
function parseSha256(s) {
|
|
20
|
+
return toByteArray(s);
|
|
21
|
+
}
|
|
22
|
+
function isHex(s) {
|
|
23
|
+
// contains valid hex characters only
|
|
24
|
+
const hexRegex = /^[0-9A-Fa-f]+$/;
|
|
25
|
+
if (!hexRegex.test(s)) {
|
|
26
|
+
// non-hex characters
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
// check for mixed-case strings - paranoid base64 sneaked in
|
|
30
|
+
const isAllUpperCase = /^[0-9A-F]+$/.test(s);
|
|
31
|
+
const isAllLowerCase = /^[0-9a-f]+$/.test(s);
|
|
32
|
+
if (!(isAllUpperCase || isAllLowerCase)) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
// ensure the input string length is even
|
|
36
|
+
return s.length % 2 === 0;
|
|
37
|
+
}
|
|
38
|
+
function isBase64(s) {
|
|
39
|
+
// test for padded or normal base64
|
|
40
|
+
return /^[A-Za-z0-9\-_]*(={0,2})?$/.test(s) ||
|
|
41
|
+
/^[A-Za-z0-9+/]*(={0,2})?$/.test(s);
|
|
42
|
+
}
|
|
43
|
+
function detectEncoding(input) {
|
|
44
|
+
// hex is more reliable to flush out...
|
|
45
|
+
if (isHex(input)) {
|
|
46
|
+
return "hex";
|
|
47
|
+
}
|
|
48
|
+
else if (isBase64(input)) {
|
|
49
|
+
return "b64";
|
|
50
|
+
}
|
|
51
|
+
return "";
|
|
52
|
+
}
|
|
53
|
+
function hexToByteArray(s) {
|
|
54
|
+
if (s.length % 2 !== 0) {
|
|
55
|
+
throw new Error("hex string must have an even length");
|
|
56
|
+
}
|
|
57
|
+
const a = new Uint8Array(s.length / 2);
|
|
58
|
+
for (let i = 0; i < s.length; i += 2) {
|
|
59
|
+
// parse hex two chars at a time
|
|
60
|
+
a[i / 2] = parseInt(s.substring(i, i + 2), 16);
|
|
61
|
+
}
|
|
62
|
+
return a;
|
|
63
|
+
}
|
|
64
|
+
function base64ToByteArray(s) {
|
|
65
|
+
// could be url friendly
|
|
66
|
+
s = s.replace(/-/g, "+");
|
|
67
|
+
s = s.replace(/_/g, "/");
|
|
68
|
+
const sbin = atob(s);
|
|
69
|
+
return Uint8Array.from(sbin, (c) => c.charCodeAt(0));
|
|
70
|
+
}
|
|
71
|
+
function toByteArray(input) {
|
|
72
|
+
const encoding = detectEncoding(input);
|
|
73
|
+
switch (encoding) {
|
|
74
|
+
case "hex":
|
|
75
|
+
return hexToByteArray(input);
|
|
76
|
+
case "b64":
|
|
77
|
+
return base64ToByteArray(input);
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
function checkSha256(a, b) {
|
|
82
|
+
const aBytes = typeof a === "string" ? parseSha256(a) : a;
|
|
83
|
+
const bBytes = typeof b === "string" ? parseSha256(b) : b;
|
|
84
|
+
if (aBytes === null || bBytes === null) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
if (aBytes.length !== bBytes.length) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
for (let i = 0; i < aBytes.length; i++) {
|
|
91
|
+
if (aBytes[i] !== bBytes[i]) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=sha_digest.parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sha_digest.parser.js","sourceRoot":"","sources":["../build/src/sha_digest.parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nats-io/obj",
|
|
3
|
-
"version": "3.0.0-
|
|
3
|
+
"version": "3.0.0-35",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib/",
|
|
6
6
|
"LICENSE",
|
|
@@ -33,12 +33,13 @@
|
|
|
33
33
|
},
|
|
34
34
|
"description": "obj library - this library implements all the base functionality for NATS objectstore for javascript clients",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@nats-io/jetstream": "3.0.0-
|
|
37
|
-
"@nats-io/nats-core": "3.0.0-
|
|
36
|
+
"@nats-io/jetstream": "3.0.0-39",
|
|
37
|
+
"@nats-io/nats-core": "3.0.0-53",
|
|
38
|
+
"js-sha256": "^0.11.0"
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {
|
|
40
41
|
"@types/node": "^22.10.10",
|
|
41
42
|
"shx": "^0.3.4",
|
|
42
|
-
"typescript": "5.
|
|
43
|
+
"typescript": "^5.8.2"
|
|
43
44
|
}
|
|
44
45
|
}
|
package/lib/sha256.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
declare const BYTES: number;
|
|
2
|
-
declare class SHA256 {
|
|
3
|
-
hashSize: number;
|
|
4
|
-
_buf: Uint8Array;
|
|
5
|
-
_bufIdx: number;
|
|
6
|
-
_count: Uint32Array;
|
|
7
|
-
_K: Uint32Array;
|
|
8
|
-
_H: Uint32Array;
|
|
9
|
-
_finalized: boolean;
|
|
10
|
-
constructor();
|
|
11
|
-
init(): this;
|
|
12
|
-
update(msg: string | Uint8Array | null, inputEncoding?: string): this;
|
|
13
|
-
digest(outputEncoding: string): string | Uint8Array;
|
|
14
|
-
_transform(): void;
|
|
15
|
-
}
|
|
16
|
-
declare function sha256(msg: string | Uint8Array | null, inputEncoding: string, outputEncoding: string): string | Uint8Array;
|
|
17
|
-
export { BYTES as BYTES };
|
|
18
|
-
export { SHA256 as SHA256 };
|
|
19
|
-
export { sha256 as sha256 };
|
package/lib/sha256.js
DELETED
|
@@ -1,371 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// deno-fmt-ignore-file
|
|
3
|
-
// deno-lint-ignore-file
|
|
4
|
-
// This code was bundled using `deno bundle` and it's not recommended to edit it manually
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SHA256 = exports.BYTES = void 0;
|
|
7
|
-
exports.sha256 = sha256;
|
|
8
|
-
// deno bundle https://deno.land/x/sha256@v1.0.2/mod.ts
|
|
9
|
-
// The MIT License (MIT)
|
|
10
|
-
//
|
|
11
|
-
// Original work (c) Marco Paland (marco@paland.com) 2015-2018, PALANDesign Hannover, Germany
|
|
12
|
-
//
|
|
13
|
-
// Deno port Copyright (c) 2019 Noah Anabiik Schwarz
|
|
14
|
-
//
|
|
15
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
16
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
17
|
-
// in the Software without restriction, including without limitation the rights
|
|
18
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
19
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
20
|
-
// furnished to do so, subject to the following conditions:
|
|
21
|
-
//
|
|
22
|
-
// The above copyright notice and this permission notice shall be included in
|
|
23
|
-
// all copies or substantial portions of the Software.
|
|
24
|
-
//
|
|
25
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
26
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
27
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
28
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
29
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
30
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
31
|
-
// THE SOFTWARE.
|
|
32
|
-
function getLengths(b64) {
|
|
33
|
-
const len = b64.length;
|
|
34
|
-
let validLen = b64.indexOf("=");
|
|
35
|
-
if (validLen === -1) {
|
|
36
|
-
validLen = len;
|
|
37
|
-
}
|
|
38
|
-
const placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;
|
|
39
|
-
return [
|
|
40
|
-
validLen,
|
|
41
|
-
placeHoldersLen
|
|
42
|
-
];
|
|
43
|
-
}
|
|
44
|
-
function init(lookup, revLookup, urlsafe = false) {
|
|
45
|
-
function _byteLength(validLen, placeHoldersLen) {
|
|
46
|
-
return Math.floor((validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen);
|
|
47
|
-
}
|
|
48
|
-
function tripletToBase64(num) {
|
|
49
|
-
return lookup[num >> 18 & 0x3f] + lookup[num >> 12 & 0x3f] + lookup[num >> 6 & 0x3f] + lookup[num & 0x3f];
|
|
50
|
-
}
|
|
51
|
-
function encodeChunk(buf, start, end) {
|
|
52
|
-
const out = new Array((end - start) / 3);
|
|
53
|
-
for (let i = start, curTriplet = 0; i < end; i += 3) {
|
|
54
|
-
out[curTriplet++] = tripletToBase64((buf[i] << 16) + (buf[i + 1] << 8) + buf[i + 2]);
|
|
55
|
-
}
|
|
56
|
-
return out.join("");
|
|
57
|
-
}
|
|
58
|
-
return {
|
|
59
|
-
byteLength(b64) {
|
|
60
|
-
return _byteLength.apply(null, getLengths(b64));
|
|
61
|
-
},
|
|
62
|
-
toUint8Array(b64) {
|
|
63
|
-
const [validLen, placeHoldersLen] = getLengths(b64);
|
|
64
|
-
const buf = new Uint8Array(_byteLength(validLen, placeHoldersLen));
|
|
65
|
-
const len = placeHoldersLen ? validLen - 4 : validLen;
|
|
66
|
-
let tmp;
|
|
67
|
-
let curByte = 0;
|
|
68
|
-
let i;
|
|
69
|
-
for (i = 0; i < len; i += 4) {
|
|
70
|
-
tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];
|
|
71
|
-
buf[curByte++] = tmp >> 16 & 0xff;
|
|
72
|
-
buf[curByte++] = tmp >> 8 & 0xff;
|
|
73
|
-
buf[curByte++] = tmp & 0xff;
|
|
74
|
-
}
|
|
75
|
-
if (placeHoldersLen === 2) {
|
|
76
|
-
tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;
|
|
77
|
-
buf[curByte++] = tmp & 0xff;
|
|
78
|
-
}
|
|
79
|
-
else if (placeHoldersLen === 1) {
|
|
80
|
-
tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;
|
|
81
|
-
buf[curByte++] = tmp >> 8 & 0xff;
|
|
82
|
-
buf[curByte++] = tmp & 0xff;
|
|
83
|
-
}
|
|
84
|
-
return buf;
|
|
85
|
-
},
|
|
86
|
-
fromUint8Array(buf) {
|
|
87
|
-
const maxChunkLength = 16383;
|
|
88
|
-
const len = buf.length;
|
|
89
|
-
const extraBytes = len % 3;
|
|
90
|
-
const len2 = len - extraBytes;
|
|
91
|
-
const parts = new Array(Math.ceil(len2 / 16383) + (extraBytes ? 1 : 0));
|
|
92
|
-
let curChunk = 0;
|
|
93
|
-
let chunkEnd;
|
|
94
|
-
for (let i = 0; i < len2; i += maxChunkLength) {
|
|
95
|
-
chunkEnd = i + maxChunkLength;
|
|
96
|
-
parts[curChunk++] = encodeChunk(buf, i, chunkEnd > len2 ? len2 : chunkEnd);
|
|
97
|
-
}
|
|
98
|
-
let tmp;
|
|
99
|
-
if (extraBytes === 1) {
|
|
100
|
-
tmp = buf[len2];
|
|
101
|
-
parts[curChunk] = lookup[tmp >> 2] + lookup[tmp << 4 & 0x3f];
|
|
102
|
-
if (!urlsafe)
|
|
103
|
-
parts[curChunk] += "==";
|
|
104
|
-
}
|
|
105
|
-
else if (extraBytes === 2) {
|
|
106
|
-
tmp = buf[len2] << 8 | buf[len2 + 1] & 0xff;
|
|
107
|
-
parts[curChunk] = lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3f] + lookup[tmp << 2 & 0x3f];
|
|
108
|
-
if (!urlsafe)
|
|
109
|
-
parts[curChunk] += "=";
|
|
110
|
-
}
|
|
111
|
-
return parts.join("");
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
const lookup = [];
|
|
116
|
-
const revLookup = [];
|
|
117
|
-
const code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
|
|
118
|
-
for (let i = 0, l = code.length; i < l; ++i) {
|
|
119
|
-
lookup[i] = code[i];
|
|
120
|
-
revLookup[code.charCodeAt(i)] = i;
|
|
121
|
-
}
|
|
122
|
-
const { byteLength, toUint8Array, fromUint8Array } = init(lookup, revLookup, true);
|
|
123
|
-
const decoder = new TextDecoder();
|
|
124
|
-
const encoder = new TextEncoder();
|
|
125
|
-
function toHexString(buf) {
|
|
126
|
-
return buf.reduce((hex, __byte) => `${hex}${__byte < 16 ? "0" : ""}${__byte.toString(16)}`, "");
|
|
127
|
-
}
|
|
128
|
-
function fromHexString(hex) {
|
|
129
|
-
const len = hex.length;
|
|
130
|
-
if (len % 2 || !/^[0-9a-fA-F]+$/.test(hex)) {
|
|
131
|
-
throw new TypeError("Invalid hex string.");
|
|
132
|
-
}
|
|
133
|
-
hex = hex.toLowerCase();
|
|
134
|
-
const buf = new Uint8Array(Math.floor(len / 2));
|
|
135
|
-
const end = len / 2;
|
|
136
|
-
for (let i = 0; i < end; ++i) {
|
|
137
|
-
buf[i] = parseInt(hex.substr(i * 2, 2), 16);
|
|
138
|
-
}
|
|
139
|
-
return buf;
|
|
140
|
-
}
|
|
141
|
-
function decode(buf, encoding = "utf8") {
|
|
142
|
-
if (/^utf-?8$/i.test(encoding)) {
|
|
143
|
-
return decoder.decode(buf);
|
|
144
|
-
}
|
|
145
|
-
else if (/^base64$/i.test(encoding)) {
|
|
146
|
-
return fromUint8Array(buf);
|
|
147
|
-
}
|
|
148
|
-
else if (/^hex(?:adecimal)?$/i.test(encoding)) {
|
|
149
|
-
return toHexString(buf);
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
throw new TypeError("Unsupported string encoding.");
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
function encode(str, encoding = "utf8") {
|
|
156
|
-
if (/^utf-?8$/i.test(encoding)) {
|
|
157
|
-
return encoder.encode(str);
|
|
158
|
-
}
|
|
159
|
-
else if (/^base64$/i.test(encoding)) {
|
|
160
|
-
return toUint8Array(str);
|
|
161
|
-
}
|
|
162
|
-
else if (/^hex(?:adecimal)?$/i.test(encoding)) {
|
|
163
|
-
return fromHexString(str);
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
throw new TypeError("Unsupported string encoding.");
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
const BYTES = 32;
|
|
170
|
-
exports.BYTES = BYTES;
|
|
171
|
-
class SHA256 {
|
|
172
|
-
hashSize = 32;
|
|
173
|
-
_buf;
|
|
174
|
-
_bufIdx;
|
|
175
|
-
_count;
|
|
176
|
-
_K;
|
|
177
|
-
_H;
|
|
178
|
-
_finalized;
|
|
179
|
-
constructor() {
|
|
180
|
-
this._buf = new Uint8Array(64);
|
|
181
|
-
this._K = new Uint32Array([
|
|
182
|
-
0x428a2f98,
|
|
183
|
-
0x71374491,
|
|
184
|
-
0xb5c0fbcf,
|
|
185
|
-
0xe9b5dba5,
|
|
186
|
-
0x3956c25b,
|
|
187
|
-
0x59f111f1,
|
|
188
|
-
0x923f82a4,
|
|
189
|
-
0xab1c5ed5,
|
|
190
|
-
0xd807aa98,
|
|
191
|
-
0x12835b01,
|
|
192
|
-
0x243185be,
|
|
193
|
-
0x550c7dc3,
|
|
194
|
-
0x72be5d74,
|
|
195
|
-
0x80deb1fe,
|
|
196
|
-
0x9bdc06a7,
|
|
197
|
-
0xc19bf174,
|
|
198
|
-
0xe49b69c1,
|
|
199
|
-
0xefbe4786,
|
|
200
|
-
0x0fc19dc6,
|
|
201
|
-
0x240ca1cc,
|
|
202
|
-
0x2de92c6f,
|
|
203
|
-
0x4a7484aa,
|
|
204
|
-
0x5cb0a9dc,
|
|
205
|
-
0x76f988da,
|
|
206
|
-
0x983e5152,
|
|
207
|
-
0xa831c66d,
|
|
208
|
-
0xb00327c8,
|
|
209
|
-
0xbf597fc7,
|
|
210
|
-
0xc6e00bf3,
|
|
211
|
-
0xd5a79147,
|
|
212
|
-
0x06ca6351,
|
|
213
|
-
0x14292967,
|
|
214
|
-
0x27b70a85,
|
|
215
|
-
0x2e1b2138,
|
|
216
|
-
0x4d2c6dfc,
|
|
217
|
-
0x53380d13,
|
|
218
|
-
0x650a7354,
|
|
219
|
-
0x766a0abb,
|
|
220
|
-
0x81c2c92e,
|
|
221
|
-
0x92722c85,
|
|
222
|
-
0xa2bfe8a1,
|
|
223
|
-
0xa81a664b,
|
|
224
|
-
0xc24b8b70,
|
|
225
|
-
0xc76c51a3,
|
|
226
|
-
0xd192e819,
|
|
227
|
-
0xd6990624,
|
|
228
|
-
0xf40e3585,
|
|
229
|
-
0x106aa070,
|
|
230
|
-
0x19a4c116,
|
|
231
|
-
0x1e376c08,
|
|
232
|
-
0x2748774c,
|
|
233
|
-
0x34b0bcb5,
|
|
234
|
-
0x391c0cb3,
|
|
235
|
-
0x4ed8aa4a,
|
|
236
|
-
0x5b9cca4f,
|
|
237
|
-
0x682e6ff3,
|
|
238
|
-
0x748f82ee,
|
|
239
|
-
0x78a5636f,
|
|
240
|
-
0x84c87814,
|
|
241
|
-
0x8cc70208,
|
|
242
|
-
0x90befffa,
|
|
243
|
-
0xa4506ceb,
|
|
244
|
-
0xbef9a3f7,
|
|
245
|
-
0xc67178f2
|
|
246
|
-
]);
|
|
247
|
-
this.init();
|
|
248
|
-
}
|
|
249
|
-
init() {
|
|
250
|
-
this._H = new Uint32Array([
|
|
251
|
-
0x6a09e667,
|
|
252
|
-
0xbb67ae85,
|
|
253
|
-
0x3c6ef372,
|
|
254
|
-
0xa54ff53a,
|
|
255
|
-
0x510e527f,
|
|
256
|
-
0x9b05688c,
|
|
257
|
-
0x1f83d9ab,
|
|
258
|
-
0x5be0cd19
|
|
259
|
-
]);
|
|
260
|
-
this._bufIdx = 0;
|
|
261
|
-
this._count = new Uint32Array(2);
|
|
262
|
-
this._buf.fill(0);
|
|
263
|
-
this._finalized = false;
|
|
264
|
-
return this;
|
|
265
|
-
}
|
|
266
|
-
update(msg, inputEncoding) {
|
|
267
|
-
if (msg === null) {
|
|
268
|
-
throw new TypeError("msg must be a string or Uint8Array.");
|
|
269
|
-
}
|
|
270
|
-
else if (typeof msg === "string") {
|
|
271
|
-
msg = encode(msg, inputEncoding);
|
|
272
|
-
}
|
|
273
|
-
for (let i = 0, len = msg.length; i < len; i++) {
|
|
274
|
-
this._buf[this._bufIdx++] = msg[i];
|
|
275
|
-
if (this._bufIdx === 64) {
|
|
276
|
-
this._transform();
|
|
277
|
-
this._bufIdx = 0;
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
const c = this._count;
|
|
281
|
-
if ((c[0] += msg.length << 3) < msg.length << 3) {
|
|
282
|
-
c[1]++;
|
|
283
|
-
}
|
|
284
|
-
c[1] += msg.length >>> 29;
|
|
285
|
-
return this;
|
|
286
|
-
}
|
|
287
|
-
digest(outputEncoding) {
|
|
288
|
-
if (this._finalized) {
|
|
289
|
-
throw new Error("digest has already been called.");
|
|
290
|
-
}
|
|
291
|
-
this._finalized = true;
|
|
292
|
-
const b = this._buf;
|
|
293
|
-
let idx = this._bufIdx;
|
|
294
|
-
b[idx++] = 0x80;
|
|
295
|
-
while (idx !== 56) {
|
|
296
|
-
if (idx === 64) {
|
|
297
|
-
this._transform();
|
|
298
|
-
idx = 0;
|
|
299
|
-
}
|
|
300
|
-
b[idx++] = 0;
|
|
301
|
-
}
|
|
302
|
-
const c = this._count;
|
|
303
|
-
b[56] = c[1] >>> 24 & 0xff;
|
|
304
|
-
b[57] = c[1] >>> 16 & 0xff;
|
|
305
|
-
b[58] = c[1] >>> 8 & 0xff;
|
|
306
|
-
b[59] = c[1] >>> 0 & 0xff;
|
|
307
|
-
b[60] = c[0] >>> 24 & 0xff;
|
|
308
|
-
b[61] = c[0] >>> 16 & 0xff;
|
|
309
|
-
b[62] = c[0] >>> 8 & 0xff;
|
|
310
|
-
b[63] = c[0] >>> 0 & 0xff;
|
|
311
|
-
this._transform();
|
|
312
|
-
const hash = new Uint8Array(32);
|
|
313
|
-
for (let i = 0; i < 8; i++) {
|
|
314
|
-
hash[(i << 2) + 0] = this._H[i] >>> 24 & 0xff;
|
|
315
|
-
hash[(i << 2) + 1] = this._H[i] >>> 16 & 0xff;
|
|
316
|
-
hash[(i << 2) + 2] = this._H[i] >>> 8 & 0xff;
|
|
317
|
-
hash[(i << 2) + 3] = this._H[i] >>> 0 & 0xff;
|
|
318
|
-
}
|
|
319
|
-
this.init();
|
|
320
|
-
return outputEncoding ? decode(hash, outputEncoding) : hash;
|
|
321
|
-
}
|
|
322
|
-
_transform() {
|
|
323
|
-
const h = this._H;
|
|
324
|
-
let h0 = h[0];
|
|
325
|
-
let h1 = h[1];
|
|
326
|
-
let h2 = h[2];
|
|
327
|
-
let h3 = h[3];
|
|
328
|
-
let h4 = h[4];
|
|
329
|
-
let h5 = h[5];
|
|
330
|
-
let h6 = h[6];
|
|
331
|
-
let h7 = h[7];
|
|
332
|
-
const w = new Uint32Array(16);
|
|
333
|
-
let i;
|
|
334
|
-
for (i = 0; i < 16; i++) {
|
|
335
|
-
w[i] = this._buf[(i << 2) + 3] | this._buf[(i << 2) + 2] << 8 | this._buf[(i << 2) + 1] << 16 | this._buf[i << 2] << 24;
|
|
336
|
-
}
|
|
337
|
-
for (i = 0; i < 64; i++) {
|
|
338
|
-
let tmp;
|
|
339
|
-
if (i < 16) {
|
|
340
|
-
tmp = w[i];
|
|
341
|
-
}
|
|
342
|
-
else {
|
|
343
|
-
let a = w[i + 1 & 15];
|
|
344
|
-
let b = w[i + 14 & 15];
|
|
345
|
-
tmp = w[i & 15] = (a >>> 7 ^ a >>> 18 ^ a >>> 3 ^ a << 25 ^ a << 14) + (b >>> 17 ^ b >>> 19 ^ b >>> 10 ^ b << 15 ^ b << 13) + w[i & 15] + w[i + 9 & 15] | 0;
|
|
346
|
-
}
|
|
347
|
-
tmp = tmp + h7 + (h4 >>> 6 ^ h4 >>> 11 ^ h4 >>> 25 ^ h4 << 26 ^ h4 << 21 ^ h4 << 7) + (h6 ^ h4 & (h5 ^ h6)) + this._K[i] | 0;
|
|
348
|
-
h7 = h6;
|
|
349
|
-
h6 = h5;
|
|
350
|
-
h5 = h4;
|
|
351
|
-
h4 = h3 + tmp;
|
|
352
|
-
h3 = h2;
|
|
353
|
-
h2 = h1;
|
|
354
|
-
h1 = h0;
|
|
355
|
-
h0 = tmp + (h1 & h2 ^ h3 & (h1 ^ h2)) + (h1 >>> 2 ^ h1 >>> 13 ^ h1 >>> 22 ^ h1 << 30 ^ h1 << 19 ^ h1 << 10) | 0;
|
|
356
|
-
}
|
|
357
|
-
h[0] = h[0] + h0 | 0;
|
|
358
|
-
h[1] = h[1] + h1 | 0;
|
|
359
|
-
h[2] = h[2] + h2 | 0;
|
|
360
|
-
h[3] = h[3] + h3 | 0;
|
|
361
|
-
h[4] = h[4] + h4 | 0;
|
|
362
|
-
h[5] = h[5] + h5 | 0;
|
|
363
|
-
h[6] = h[6] + h6 | 0;
|
|
364
|
-
h[7] = h[7] + h7 | 0;
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
exports.SHA256 = SHA256;
|
|
368
|
-
function sha256(msg, inputEncoding, outputEncoding) {
|
|
369
|
-
return new SHA256().update(msg, inputEncoding).digest(outputEncoding);
|
|
370
|
-
}
|
|
371
|
-
//# sourceMappingURL=sha256.js.map
|
package/lib/sha256.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sha256.js","sourceRoot":"","sources":["../build/src/sha256.ts"],"names":[],"mappings":"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"}
|