@futdevpro/fsm-dynamo 1.20.135 → 1.20.137
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/data-model-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/data-model-params.control-model.js +0 -25
- package/build/_models/control-models/data-model-params.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/data-model-params.control-model.js +0 -25
- package/build-esm/_modules/crypto/_collections/crypto.util.js +40 -18
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAEL,wBAAwB,EACzB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAM9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAQtG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,kBAAkB;IACjC,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7B,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wFAAwF;IACxF,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,GAAG,SAAS,CAO5G;AAcD,qBAAa,iCAAiC,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAMxG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;gBAG9B,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"data-model-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAEL,wBAAwB,EACzB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAM9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAQtG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,kBAAkB;IACjC,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7B,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wFAAwF;IACxF,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,GAAG,SAAS,CAO5G;AAcD,qBAAa,iCAAiC,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAMxG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;gBAG9B,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAwLjC,WAAW,CAAC,IAAI,OAAO;IAIvB;;;;;OAKG;IACH,eAAe,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;IAI7D,yBAAyB,CAAC,CACxB,QAAQ,EAAE,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,GACzC,IAAI;CA2BR;AAED,2FAA2F;AAC3F,OAAO,EAAE,iCAAiC,IAAI,qBAAqB,EAAE,CAAC"}
|
|
@@ -97,16 +97,6 @@ class DyFM_DataModelParams_ControlModel extends data_model_settings_control_mode
|
|
|
97
97
|
});
|
|
98
98
|
keys.forEach((key) => {
|
|
99
99
|
const property = this.properties[key];
|
|
100
|
-
/* if (property.vectorizeTo) {
|
|
101
|
-
if (!this.properties[property.vectorizeTo]) {
|
|
102
|
-
throw new Error(
|
|
103
|
-
`Vectorize to property "${property.vectorizeTo}" is not found in ` +
|
|
104
|
-
`"${this.dataName}" model.`
|
|
105
|
-
);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
this.properties[property.vectorizeTo].vectorizeFrom ??= key;
|
|
109
|
-
} */
|
|
110
100
|
if (property.vectorizedFrom) {
|
|
111
101
|
property.vectorizedFrom.forEach((fromKey) => {
|
|
112
102
|
if (!this.properties[fromKey]) {
|
|
@@ -155,21 +145,6 @@ class DyFM_DataModelParams_ControlModel extends data_model_settings_control_mode
|
|
|
155
145
|
`more info at DyFM_DataProperty_Params.vectorizeUseIndex))` +
|
|
156
146
|
`\nstackLocation: ${this.stackLocation}\n`);
|
|
157
147
|
}
|
|
158
|
-
/* if (!this.properties[property.vectorizeUseIndex]) {
|
|
159
|
-
throw new Error(
|
|
160
|
-
`vectorizeUseIndex property "${property.vectorizeUseIndex}" is not found in ` +
|
|
161
|
-
`"${this.dataName}" model.` +
|
|
162
|
-
`\nstackLocation: ${this.stackLocation}\n`
|
|
163
|
-
);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
if (!(this.properties[property.vectorizeUseIndex] as DyFM_DataProperty_Params<any>).index) {
|
|
167
|
-
throw new Error(
|
|
168
|
-
`vectorizeUseIndex property "${property.vectorizeUseIndex}" is not an ` +
|
|
169
|
-
`index property in "${this.dataName}" model.` +
|
|
170
|
-
`\nstackLocation: ${this.stackLocation}`
|
|
171
|
-
);
|
|
172
|
-
} */
|
|
173
148
|
}
|
|
174
149
|
});
|
|
175
150
|
if (!this?.modelType || this?.modelType == data_model_type_enum_1.DyFM_DataModel_Type.data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data-model-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.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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"}
|
|
@@ -92,16 +92,6 @@ export class DyFM_DataModelParams_ControlModel extends DyFM_DataModel_Settings {
|
|
|
92
92
|
});
|
|
93
93
|
keys.forEach((key) => {
|
|
94
94
|
const property = this.properties[key];
|
|
95
|
-
/* if (property.vectorizeTo) {
|
|
96
|
-
if (!this.properties[property.vectorizeTo]) {
|
|
97
|
-
throw new Error(
|
|
98
|
-
`Vectorize to property "${property.vectorizeTo}" is not found in ` +
|
|
99
|
-
`"${this.dataName}" model.`
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
this.properties[property.vectorizeTo].vectorizeFrom ??= key;
|
|
104
|
-
} */
|
|
105
95
|
if (property.vectorizedFrom) {
|
|
106
96
|
property.vectorizedFrom.forEach((fromKey) => {
|
|
107
97
|
if (!this.properties[fromKey]) {
|
|
@@ -150,21 +140,6 @@ export class DyFM_DataModelParams_ControlModel extends DyFM_DataModel_Settings {
|
|
|
150
140
|
`more info at DyFM_DataProperty_Params.vectorizeUseIndex))` +
|
|
151
141
|
`\nstackLocation: ${this.stackLocation}\n`);
|
|
152
142
|
}
|
|
153
|
-
/* if (!this.properties[property.vectorizeUseIndex]) {
|
|
154
|
-
throw new Error(
|
|
155
|
-
`vectorizeUseIndex property "${property.vectorizeUseIndex}" is not found in ` +
|
|
156
|
-
`"${this.dataName}" model.` +
|
|
157
|
-
`\nstackLocation: ${this.stackLocation}\n`
|
|
158
|
-
);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
if (!(this.properties[property.vectorizeUseIndex] as DyFM_DataProperty_Params<any>).index) {
|
|
162
|
-
throw new Error(
|
|
163
|
-
`vectorizeUseIndex property "${property.vectorizeUseIndex}" is not an ` +
|
|
164
|
-
`index property in "${this.dataName}" model.` +
|
|
165
|
-
`\nstackLocation: ${this.stackLocation}`
|
|
166
|
-
);
|
|
167
|
-
} */
|
|
168
143
|
}
|
|
169
144
|
});
|
|
170
145
|
if (!this?.modelType || this?.modelType == DyFM_DataModel_Type.data) {
|
|
@@ -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.137",
|
|
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",
|
|
@@ -371,7 +371,7 @@
|
|
|
371
371
|
"uuid": "~11.1.1"
|
|
372
372
|
},
|
|
373
373
|
"devDependencies": {
|
|
374
|
-
"@futdevpro/dynamo-eslint": "1.20.
|
|
374
|
+
"@futdevpro/dynamo-eslint": "1.20.74",
|
|
375
375
|
"@types/jasmine": "~4.3.5",
|
|
376
376
|
"@typescript-eslint/eslint-plugin": "^8.41.0",
|
|
377
377
|
"@typescript-eslint/parser": "^8.41.0",
|