@futdevpro/fsm-dynamo 1.20.136 → 1.20.138
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/build/_models/control-models/poll.control-model.d.ts +6 -1
- package/build/_models/control-models/poll.control-model.d.ts.map +1 -1
- package/build/_models/control-models/poll.control-model.js +11 -2
- package/build/_models/control-models/poll.control-model.js.map +1 -1
- package/build/_modules/crypto/_collections/crypto.util.d.ts +25 -1
- package/build/_modules/crypto/_collections/crypto.util.d.ts.map +1 -1
- package/build/_modules/crypto/_collections/crypto.util.js +40 -18
- package/build/_modules/crypto/_collections/crypto.util.js.map +1 -1
- package/build-esm/_models/control-models/poll.control-model.js +11 -2
- package/build-esm/_modules/crypto/_collections/crypto.util.js +40 -18
- package/package.json +1 -1
|
@@ -16,6 +16,8 @@ import { DyFM_PollHandle_Interface } from '../interfaces/poll-handle.interface';
|
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
18
|
export declare class DyFM_Poll_ControlModel<T> {
|
|
19
|
+
/** BFR-FLEET-043 — the default `pollWhile`: the poll runs until `stop()`. */
|
|
20
|
+
static readonly alwaysContinue: () => boolean;
|
|
19
21
|
name: string;
|
|
20
22
|
/** The running poll (BFR-AM-019: a plain timer handle — no rxjs at runtime). */
|
|
21
23
|
poll: DyFM_PollHandle_Interface;
|
|
@@ -30,7 +32,10 @@ export declare class DyFM_Poll_ControlModel<T> {
|
|
|
30
32
|
readonly pollDo: (...args: any[]) => Promise<T>;
|
|
31
33
|
/**
|
|
32
34
|
* The function that will be called to check if the poll should continue,
|
|
33
|
-
* if this returns false, the poll will end
|
|
35
|
+
* if this returns false, the poll will end.
|
|
36
|
+
*
|
|
37
|
+
* BFR-FLEET-043 (Dedup-25, 2026-10-24): OPTIONAL — omitted ⇒ "always continue" (a refresh that runs until `stop()`).
|
|
38
|
+
* Before, a poll without it threw on every tick ("pollDo was UNSUCCESSFUL", the real cause hidden) and ran on.
|
|
34
39
|
*/
|
|
35
40
|
readonly pollWhile: (res: T) => boolean;
|
|
36
41
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/poll.control-model.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAGhF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,sBAAsB,CAAC,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IAEb,gFAAgF;IAChF,IAAI,EAAE,yBAAyB,CAAC;IAChC,mFAAmF;IACnF,OAAO,EAAE,2BAA2B,CAAC;IACrC,+EAA+E;IACvE,SAAS,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,OAAA,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzC
|
|
1
|
+
{"version":3,"file":"poll.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/poll.control-model.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAGhF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,sBAAsB,CAAC,CAAC;IACnC,6EAA6E;IAC7E,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAuB;IAEpE,IAAI,EAAE,MAAM,CAAC;IAEb,gFAAgF;IAChF,IAAI,EAAE,yBAAyB,CAAC;IAChC,mFAAmF;IACnF,OAAO,EAAE,2BAA2B,CAAC;IACrC,+EAA+E;IACvE,SAAS,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,OAAA,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAyC;IAChF;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAK;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAc;IACzC,yFAAyF;IACzF,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAS;IACzD,kFAAkF;IAClF,SAAiB,YAAY,EAAE,OAAO,CAAC;IACvC,yFAAyF;IACzF,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAS;IACzD,kFAAkF;IAClF,SAAiB,YAAY,EAAE,OAAO,CAAC;gBAGrC,GAAG,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAmCzC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;IA0CvB;;;OAGG;YACW,SAAS;IAmCvB;;;OAGG;IACH,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;IAe/B,IAAI,IAAI,IAAI;IAKZ,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;CAKrB;AAGD,gFAAgF;AAChF,OAAO,EAAE,sBAAsB,IAAI,SAAS,EAAE,CAAC"}
|
|
@@ -20,6 +20,8 @@ const error_control_model_1 = require("./error.control-model");
|
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
22
|
class DyFM_Poll_ControlModel {
|
|
23
|
+
/** BFR-FLEET-043 — the default `pollWhile`: the poll runs until `stop()`. */
|
|
24
|
+
static alwaysContinue = () => true;
|
|
23
25
|
name;
|
|
24
26
|
/** The running poll (BFR-AM-019: a plain timer handle — no rxjs at runtime). */
|
|
25
27
|
poll;
|
|
@@ -32,9 +34,12 @@ class DyFM_Poll_ControlModel {
|
|
|
32
34
|
pollDo;
|
|
33
35
|
/**
|
|
34
36
|
* The function that will be called to check if the poll should continue,
|
|
35
|
-
* if this returns false, the poll will end
|
|
37
|
+
* if this returns false, the poll will end.
|
|
38
|
+
*
|
|
39
|
+
* BFR-FLEET-043 (Dedup-25, 2026-10-24): OPTIONAL — omitted ⇒ "always continue" (a refresh that runs until `stop()`).
|
|
40
|
+
* Before, a poll without it threw on every tick ("pollDo was UNSUCCESSFUL", the real cause hidden) and ran on.
|
|
36
41
|
*/
|
|
37
|
-
pollWhile;
|
|
42
|
+
pollWhile = DyFM_Poll_ControlModel.alwaysContinue;
|
|
38
43
|
/**
|
|
39
44
|
* The function that will be called to end the poll
|
|
40
45
|
*/
|
|
@@ -53,6 +58,10 @@ class DyFM_Poll_ControlModel {
|
|
|
53
58
|
constructor(set) {
|
|
54
59
|
try {
|
|
55
60
|
Object.assign(this, set);
|
|
61
|
+
// BFR-FLEET-043 — an omitted (or explicitly undefined) `pollWhile` means "always continue"
|
|
62
|
+
if (typeof this.pollWhile !== 'function') {
|
|
63
|
+
this.pollWhile = DyFM_Poll_ControlModel.alwaysContinue;
|
|
64
|
+
}
|
|
56
65
|
if (set.pollPeriod === 0) {
|
|
57
66
|
console.error('DYNAMO ERROR: creating polls with 0ms period is not supported! ' +
|
|
58
67
|
'(it will reset to 1000ms (1s))');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/poll.control-model.ts"],"names":[],"mappings":";;;AAAA,0EAAkE;AAClE,oEAAiE;AACjE,+DAAmD;AAKnD;;;;;;;;;;;;;;GAcG;AACH,MAAa,sBAAsB;IACjC,IAAI,CAAS;IAEb,gFAAgF;IAChF,IAAI,CAA4B;IAChC,mFAAmF;IACnF,OAAO,CAA8B;IAIrC;;;OAGG;IACM,MAAM,CAA0B;IACzC
|
|
1
|
+
{"version":3,"file":"poll.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/poll.control-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,19 @@ export interface CryptoConfig {
|
|
|
21
21
|
* can be exploited for pattern analysis attacks. Use only when consistency across
|
|
22
22
|
* systems is more important than cryptographic security.
|
|
23
23
|
*/
|
|
24
|
+
/**
|
|
25
|
+
* BFR-CREDIT-110 — a PBKDF2 implementation: the password (UTF-8), the salt bytes, the iteration count and the key length
|
|
26
|
+
* (bytes) ⇒ the key bytes. It MUST be PBKDF2-HMAC-SHA256 (what `CryptoJS.PBKDF2` 4.2 computes), so the keys are the same.
|
|
27
|
+
*/
|
|
28
|
+
export type DyFM_Pbkdf2_Provider = (password: string, salt: Uint8Array, iterations: number, keyLength: number) => Uint8Array;
|
|
24
29
|
export declare class DyFM_Crypto {
|
|
25
30
|
private static readonly CRYPTO_VERSION;
|
|
31
|
+
/**
|
|
32
|
+
* BFR-CREDIT-110 — the optional native PBKDF2 (`setPbkdf2Provider`). Measured (credit, 2026-10-23): the pure-JS
|
|
33
|
+
* `CryptoJS.PBKDF2` costs 8.1 ms per call vs 0.33 ms for Node's `pbkdf2Sync`, and every value has its own salt, so a
|
|
34
|
+
* record with ~7.65 encrypted fields blocked the event loop for ~61 ms.
|
|
35
|
+
*/
|
|
36
|
+
private static pbkdf2Provider;
|
|
26
37
|
private static readonly DEFAULT_CONFIG;
|
|
27
38
|
private static readonly defaultErrorUserMsg;
|
|
28
39
|
/**
|
|
@@ -60,9 +71,22 @@ export declare class DyFM_Crypto {
|
|
|
60
71
|
*/
|
|
61
72
|
private static createDeterministicSeed;
|
|
62
73
|
/**
|
|
63
|
-
*
|
|
74
|
+
* BFR-CREDIT-110 — installs a native PBKDF2 (e.g. Node's `crypto.pbkdf2Sync`, done by `@futdevpro/nts-dynamo`). The
|
|
75
|
+
* derived keys are bit-identical, so every existing ciphertext still decrypts. `null` ⇒ back to `CryptoJS.PBKDF2`.
|
|
76
|
+
* The isomorphic package itself never imports `node:crypto` (it runs in the browser too).
|
|
77
|
+
*/
|
|
78
|
+
static setPbkdf2Provider(provider: DyFM_Pbkdf2_Provider | null): void;
|
|
79
|
+
/** BFR-CREDIT-110 — whether a native PBKDF2 is installed. */
|
|
80
|
+
static hasPbkdf2Provider(): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Derives a key using PBKDF2 with reduced iterations for stability.
|
|
83
|
+
* BFR-CREDIT-110: through the installed native provider when there is one (the same key, ~25× faster).
|
|
64
84
|
*/
|
|
65
85
|
private static deriveKey;
|
|
86
|
+
/** BFR-CREDIT-110 — the bytes of a `WordArray` (big-endian words, `sigBytes` long). */
|
|
87
|
+
private static wordArrayToBytes;
|
|
88
|
+
/** BFR-CREDIT-110 — a `WordArray` of bytes (big-endian words). */
|
|
89
|
+
private static bytesToWordArray;
|
|
66
90
|
/**
|
|
67
91
|
* Safely serializes data to JSON with deterministic ordering
|
|
68
92
|
* Uses regular JSON.stringify but ensures consistency through other means
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/crypto/_collections/crypto.util.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAiB;
|
|
1
|
+
{"version":3,"file":"crypto.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/crypto/_collections/crypto.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,25 +7,14 @@ const global_settings_const_1 = require("../../../_collections/constants/global-
|
|
|
7
7
|
const log_util_1 = require("../../../_collections/utils/log.util");
|
|
8
8
|
const object_util_1 = require("../../../_collections/utils/object.util");
|
|
9
9
|
const error_control_model_1 = require("../../../_models/control-models/error.control-model");
|
|
10
|
-
// Compact: about 60–80 character tokens, not 200+
|
|
11
|
-
// Non-standard: hard to reverse-engineer
|
|
12
|
-
// Usable in cookies, headers, URLs
|
|
13
|
-
/**
|
|
14
|
-
* A utility class for stable encryption and decryption of data
|
|
15
|
-
* Uses AES-256-CBC with deterministic IV and salt for consistent results across systems
|
|
16
|
-
* Prioritizes reliability and cross-platform compatibility over security
|
|
17
|
-
*
|
|
18
|
-
* @important DETERMINISTIC ENCRYPTION: This implementation produces identical encrypted
|
|
19
|
-
* output for identical input data and key across different systems and multiple calls.
|
|
20
|
-
* The same input will ALWAYS generate the same encrypted string on any platform.
|
|
21
|
-
*
|
|
22
|
-
* @warning SECURITY NOTICE: This deterministic behavior is intentional for cross-platform
|
|
23
|
-
* compatibility but reduces security. Identical inputs produce identical outputs, which
|
|
24
|
-
* can be exploited for pattern analysis attacks. Use only when consistency across
|
|
25
|
-
* systems is more important than cryptographic security.
|
|
26
|
-
*/
|
|
27
10
|
class DyFM_Crypto {
|
|
28
11
|
static CRYPTO_VERSION = '1.0';
|
|
12
|
+
/**
|
|
13
|
+
* BFR-CREDIT-110 — the optional native PBKDF2 (`setPbkdf2Provider`). Measured (credit, 2026-10-23): the pure-JS
|
|
14
|
+
* `CryptoJS.PBKDF2` costs 8.1 ms per call vs 0.33 ms for Node's `pbkdf2Sync`, and every value has its own salt, so a
|
|
15
|
+
* record with ~7.65 encrypted fields blocked the event loop for ~61 ms.
|
|
16
|
+
*/
|
|
17
|
+
static pbkdf2Provider = null;
|
|
29
18
|
static DEFAULT_CONFIG = {
|
|
30
19
|
ivLength: 16, // 128 bits
|
|
31
20
|
saltLength: 16, // 128 bits
|
|
@@ -195,14 +184,47 @@ class DyFM_Crypto {
|
|
|
195
184
|
return seed;
|
|
196
185
|
}
|
|
197
186
|
/**
|
|
198
|
-
*
|
|
187
|
+
* BFR-CREDIT-110 — installs a native PBKDF2 (e.g. Node's `crypto.pbkdf2Sync`, done by `@futdevpro/nts-dynamo`). The
|
|
188
|
+
* derived keys are bit-identical, so every existing ciphertext still decrypts. `null` ⇒ back to `CryptoJS.PBKDF2`.
|
|
189
|
+
* The isomorphic package itself never imports `node:crypto` (it runs in the browser too).
|
|
190
|
+
*/
|
|
191
|
+
static setPbkdf2Provider(provider) {
|
|
192
|
+
this.pbkdf2Provider = provider;
|
|
193
|
+
}
|
|
194
|
+
/** BFR-CREDIT-110 — whether a native PBKDF2 is installed. */
|
|
195
|
+
static hasPbkdf2Provider() {
|
|
196
|
+
return !!this.pbkdf2Provider;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Derives a key using PBKDF2 with reduced iterations for stability.
|
|
200
|
+
* BFR-CREDIT-110: through the installed native provider when there is one (the same key, ~25× faster).
|
|
199
201
|
*/
|
|
200
202
|
static deriveKey(key, salt, config) {
|
|
203
|
+
if (this.pbkdf2Provider) {
|
|
204
|
+
const derived = this.pbkdf2Provider(key, this.wordArrayToBytes(salt), config.keyIterations, config.keySize * 4);
|
|
205
|
+
return this.bytesToWordArray(derived);
|
|
206
|
+
}
|
|
201
207
|
return CryptoJS.PBKDF2(key, salt, {
|
|
202
208
|
keySize: config.keySize,
|
|
203
209
|
iterations: config.keyIterations
|
|
204
210
|
});
|
|
205
211
|
}
|
|
212
|
+
/** BFR-CREDIT-110 — the bytes of a `WordArray` (big-endian words, `sigBytes` long). */
|
|
213
|
+
static wordArrayToBytes(words) {
|
|
214
|
+
const bytes = new Uint8Array(words.sigBytes);
|
|
215
|
+
for (let i = 0; i < words.sigBytes; i++) {
|
|
216
|
+
bytes[i] = (words.words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
|
|
217
|
+
}
|
|
218
|
+
return bytes;
|
|
219
|
+
}
|
|
220
|
+
/** BFR-CREDIT-110 — a `WordArray` of bytes (big-endian words). */
|
|
221
|
+
static bytesToWordArray(bytes) {
|
|
222
|
+
const words = [];
|
|
223
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
224
|
+
words[i >>> 2] = (words[i >>> 2] ?? 0) | (bytes[i] << (24 - (i % 4) * 8));
|
|
225
|
+
}
|
|
226
|
+
return CryptoJS.lib.WordArray.create(words, bytes.length);
|
|
227
|
+
}
|
|
206
228
|
/**
|
|
207
229
|
* Safely serializes data to JSON with deterministic ordering
|
|
208
230
|
* Uses regular JSON.stringify but ensures consistency through other means
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.util.js","sourceRoot":"","sources":["../../../../src/_modules/crypto/_collections/crypto.util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crypto.util.js","sourceRoot":"","sources":["../../../../src/_modules/crypto/_collections/crypto.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,8 @@ import { DyFM_Error } from './error.control-model';
|
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
19
|
export class DyFM_Poll_ControlModel {
|
|
20
|
+
/** BFR-FLEET-043 — the default `pollWhile`: the poll runs until `stop()`. */
|
|
21
|
+
static alwaysContinue = () => true;
|
|
20
22
|
name;
|
|
21
23
|
/** The running poll (BFR-AM-019: a plain timer handle — no rxjs at runtime). */
|
|
22
24
|
poll;
|
|
@@ -29,9 +31,12 @@ export class DyFM_Poll_ControlModel {
|
|
|
29
31
|
pollDo;
|
|
30
32
|
/**
|
|
31
33
|
* The function that will be called to check if the poll should continue,
|
|
32
|
-
* if this returns false, the poll will end
|
|
34
|
+
* if this returns false, the poll will end.
|
|
35
|
+
*
|
|
36
|
+
* BFR-FLEET-043 (Dedup-25, 2026-10-24): OPTIONAL — omitted ⇒ "always continue" (a refresh that runs until `stop()`).
|
|
37
|
+
* Before, a poll without it threw on every tick ("pollDo was UNSUCCESSFUL", the real cause hidden) and ran on.
|
|
33
38
|
*/
|
|
34
|
-
pollWhile;
|
|
39
|
+
pollWhile = DyFM_Poll_ControlModel.alwaysContinue;
|
|
35
40
|
/**
|
|
36
41
|
* The function that will be called to end the poll
|
|
37
42
|
*/
|
|
@@ -50,6 +55,10 @@ export class DyFM_Poll_ControlModel {
|
|
|
50
55
|
constructor(set) {
|
|
51
56
|
try {
|
|
52
57
|
Object.assign(this, set);
|
|
58
|
+
// BFR-FLEET-043 — an omitted (or explicitly undefined) `pollWhile` means "always continue"
|
|
59
|
+
if (typeof this.pollWhile !== 'function') {
|
|
60
|
+
this.pollWhile = DyFM_Poll_ControlModel.alwaysContinue;
|
|
61
|
+
}
|
|
53
62
|
if (set.pollPeriod === 0) {
|
|
54
63
|
console.error('DYNAMO ERROR: creating polls with 0ms period is not supported! ' +
|
|
55
64
|
'(it will reset to 1000ms (1s))');
|
|
@@ -3,25 +3,14 @@ import { DyFM_global_settings } from '../../../_collections/constants/global-set
|
|
|
3
3
|
import { DyFM_Log } from '../../../_collections/utils/log.util';
|
|
4
4
|
import { DyFM_Object } from '../../../_collections/utils/object.util';
|
|
5
5
|
import { DyFM_Error } from '../../../_models/control-models/error.control-model';
|
|
6
|
-
// Compact: about 60–80 character tokens, not 200+
|
|
7
|
-
// Non-standard: hard to reverse-engineer
|
|
8
|
-
// Usable in cookies, headers, URLs
|
|
9
|
-
/**
|
|
10
|
-
* A utility class for stable encryption and decryption of data
|
|
11
|
-
* Uses AES-256-CBC with deterministic IV and salt for consistent results across systems
|
|
12
|
-
* Prioritizes reliability and cross-platform compatibility over security
|
|
13
|
-
*
|
|
14
|
-
* @important DETERMINISTIC ENCRYPTION: This implementation produces identical encrypted
|
|
15
|
-
* output for identical input data and key across different systems and multiple calls.
|
|
16
|
-
* The same input will ALWAYS generate the same encrypted string on any platform.
|
|
17
|
-
*
|
|
18
|
-
* @warning SECURITY NOTICE: This deterministic behavior is intentional for cross-platform
|
|
19
|
-
* compatibility but reduces security. Identical inputs produce identical outputs, which
|
|
20
|
-
* can be exploited for pattern analysis attacks. Use only when consistency across
|
|
21
|
-
* systems is more important than cryptographic security.
|
|
22
|
-
*/
|
|
23
6
|
export class DyFM_Crypto {
|
|
24
7
|
static CRYPTO_VERSION = '1.0';
|
|
8
|
+
/**
|
|
9
|
+
* BFR-CREDIT-110 — the optional native PBKDF2 (`setPbkdf2Provider`). Measured (credit, 2026-10-23): the pure-JS
|
|
10
|
+
* `CryptoJS.PBKDF2` costs 8.1 ms per call vs 0.33 ms for Node's `pbkdf2Sync`, and every value has its own salt, so a
|
|
11
|
+
* record with ~7.65 encrypted fields blocked the event loop for ~61 ms.
|
|
12
|
+
*/
|
|
13
|
+
static pbkdf2Provider = null;
|
|
25
14
|
static DEFAULT_CONFIG = {
|
|
26
15
|
ivLength: 16, // 128 bits
|
|
27
16
|
saltLength: 16, // 128 bits
|
|
@@ -191,14 +180,47 @@ export class DyFM_Crypto {
|
|
|
191
180
|
return seed;
|
|
192
181
|
}
|
|
193
182
|
/**
|
|
194
|
-
*
|
|
183
|
+
* BFR-CREDIT-110 — installs a native PBKDF2 (e.g. Node's `crypto.pbkdf2Sync`, done by `@futdevpro/nts-dynamo`). The
|
|
184
|
+
* derived keys are bit-identical, so every existing ciphertext still decrypts. `null` ⇒ back to `CryptoJS.PBKDF2`.
|
|
185
|
+
* The isomorphic package itself never imports `node:crypto` (it runs in the browser too).
|
|
186
|
+
*/
|
|
187
|
+
static setPbkdf2Provider(provider) {
|
|
188
|
+
this.pbkdf2Provider = provider;
|
|
189
|
+
}
|
|
190
|
+
/** BFR-CREDIT-110 — whether a native PBKDF2 is installed. */
|
|
191
|
+
static hasPbkdf2Provider() {
|
|
192
|
+
return !!this.pbkdf2Provider;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Derives a key using PBKDF2 with reduced iterations for stability.
|
|
196
|
+
* BFR-CREDIT-110: through the installed native provider when there is one (the same key, ~25× faster).
|
|
195
197
|
*/
|
|
196
198
|
static deriveKey(key, salt, config) {
|
|
199
|
+
if (this.pbkdf2Provider) {
|
|
200
|
+
const derived = this.pbkdf2Provider(key, this.wordArrayToBytes(salt), config.keyIterations, config.keySize * 4);
|
|
201
|
+
return this.bytesToWordArray(derived);
|
|
202
|
+
}
|
|
197
203
|
return CryptoJS.PBKDF2(key, salt, {
|
|
198
204
|
keySize: config.keySize,
|
|
199
205
|
iterations: config.keyIterations
|
|
200
206
|
});
|
|
201
207
|
}
|
|
208
|
+
/** BFR-CREDIT-110 — the bytes of a `WordArray` (big-endian words, `sigBytes` long). */
|
|
209
|
+
static wordArrayToBytes(words) {
|
|
210
|
+
const bytes = new Uint8Array(words.sigBytes);
|
|
211
|
+
for (let i = 0; i < words.sigBytes; i++) {
|
|
212
|
+
bytes[i] = (words.words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
|
|
213
|
+
}
|
|
214
|
+
return bytes;
|
|
215
|
+
}
|
|
216
|
+
/** BFR-CREDIT-110 — a `WordArray` of bytes (big-endian words). */
|
|
217
|
+
static bytesToWordArray(bytes) {
|
|
218
|
+
const words = [];
|
|
219
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
220
|
+
words[i >>> 2] = (words[i >>> 2] ?? 0) | (bytes[i] << (24 - (i % 4) * 8));
|
|
221
|
+
}
|
|
222
|
+
return CryptoJS.lib.WordArray.create(words, bytes.length);
|
|
223
|
+
}
|
|
202
224
|
/**
|
|
203
225
|
* Safely serializes data to JSON with deterministic ordering
|
|
204
226
|
* Uses regular JSON.stringify but ensures consistency through other means
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/fsm-dynamo",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.138",
|
|
4
4
|
"description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
|
|
5
5
|
"DyBu_settings": {
|
|
6
6
|
"packageType": "full-stack-package",
|