xypriss 1.0.1 → 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/README.md +187 -84
- package/dist/cjs/ServerFactory.js +1 -1
- package/dist/cjs/cache/SecureCacheAdapter.js +2 -2
- package/dist/cjs/cluster/cluster-manager.js +1 -1
- package/dist/cjs/cluster/index.js +30 -30
- package/dist/cjs/cluster/modules/AutoScaler.js +2 -2
- package/dist/cjs/cluster/modules/ClusterPersistenceManager.js +3 -3
- package/dist/cjs/cluster/modules/HealthMonitor.js +2 -2
- package/dist/cjs/cluster/modules/IPCManager.js +2 -2
- package/dist/cjs/cluster/modules/MetricsCollector.js +1 -1
- package/dist/cjs/cluster/modules/WorkerManager.js +2 -2
- package/dist/cjs/encryption/EncryptionService.js +12 -12
- package/dist/cjs/encryption/EncryptionService.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/middleware/safe-json-middleware.js +1 -1
- package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js +727 -0
- package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js.map +1 -0
- package/dist/cjs/mods/security/src/algorithms/registry.js +83 -0
- package/dist/cjs/mods/security/src/algorithms/registry.js.map +1 -0
- package/dist/cjs/mods/security/src/components/attestation.js +1065 -0
- package/dist/cjs/mods/security/src/components/attestation.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/FastLRU.js +323 -0
- package/dist/cjs/mods/security/src/components/cache/FastLRU.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/UFSIMC.js +1131 -0
- package/dist/cjs/mods/security/src/components/cache/UFSIMC.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/cacheSys.js +624 -0
- package/dist/cjs/mods/security/src/components/cache/cacheSys.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js +136 -0
- package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/config/cache.config.js +39 -0
- package/dist/cjs/mods/security/src/components/cache/config/cache.config.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/index.js +459 -0
- package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -0
- package/dist/cjs/mods/security/src/components/cache/useCache.js +243 -0
- package/dist/cjs/mods/security/src/components/cache/useCache.js.map +1 -0
- package/dist/cjs/mods/security/src/components/canary-tokens.js +351 -0
- package/dist/cjs/mods/security/src/components/canary-tokens.js.map +1 -0
- package/dist/cjs/mods/security/src/components/entropy-augmentation.js +478 -0
- package/dist/cjs/mods/security/src/components/entropy-augmentation.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js +338 -0
- package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js +536 -0
- package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js +631 -0
- package/dist/cjs/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/const/exec.const.js +18 -0
- package/dist/cjs/mods/security/src/components/fortified-function/const/exec.const.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-config.js +356 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-config.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-function-core.js +520 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-function-core.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-logger.js +246 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/fortified-logger.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/api-manager.js +189 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/api-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/cache-manager.js +107 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/cache-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-context.js +105 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-context.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-engine.js +127 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-engine.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-router.js +93 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/execution-router.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/memory-manager.js +147 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/memory-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/security-manager.js +102 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/security-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/stats-manager.js +159 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/stats-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/timing-manager.js +125 -0
- package/dist/cjs/mods/security/src/components/fortified-function/core/mods/timing-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/engines/analytics-engine.js +370 -0
- package/dist/cjs/mods/security/src/components/fortified-function/engines/analytics-engine.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/engines/execution-engine.js +402 -0
- package/dist/cjs/mods/security/src/components/fortified-function/engines/execution-engine.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/index.js +172 -0
- package/dist/cjs/mods/security/src/components/fortified-function/index.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-monitor.js +240 -0
- package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-monitor.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-timer.js +188 -0
- package/dist/cjs/mods/security/src/components/fortified-function/performance/performance-timer.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js +253 -0
- package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/serializer/safe-serializer.js +350 -0
- package/dist/cjs/mods/security/src/components/fortified-function/serializer/safe-serializer.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/smart-cache.js +693 -0
- package/dist/cjs/mods/security/src/components/fortified-function/smart-cache.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/types/types.js +16 -0
- package/dist/cjs/mods/security/src/components/fortified-function/types/types.js.map +1 -0
- package/dist/cjs/mods/security/src/components/fortified-function/utils/utils.js +68 -0
- package/dist/cjs/mods/security/src/components/fortified-function/utils/utils.js.map +1 -0
- package/dist/cjs/mods/security/src/components/memory-hard.js +922 -0
- package/dist/cjs/mods/security/src/components/memory-hard.js.map +1 -0
- package/dist/cjs/mods/security/src/components/post-quantum.js +323 -0
- package/dist/cjs/mods/security/src/components/post-quantum.js.map +1 -0
- package/dist/cjs/mods/security/src/components/runtime-verification.js +645 -0
- package/dist/cjs/mods/security/src/components/runtime-verification.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/core/secure-array-core.js +1572 -0
- package/dist/cjs/mods/security/src/components/secure-array/core/secure-array-core.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js +330 -0
- package/dist/cjs/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/events/event-manager.js +270 -0
- package/dist/cjs/mods/security/src/components/secure-array/events/event-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/index.js +66 -0
- package/dist/cjs/mods/security/src/components/secure-array/index.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/metadata/metadata-manager.js +331 -0
- package/dist/cjs/mods/security/src/components/secure-array/metadata/metadata-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js +390 -0
- package/dist/cjs/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/types/index.js +87 -0
- package/dist/cjs/mods/security/src/components/secure-array/types/index.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/utils/id-generator.js +80 -0
- package/dist/cjs/mods/security/src/components/secure-array/utils/id-generator.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-array/utils/validation.js +275 -0
- package/dist/cjs/mods/security/src/components/secure-array/utils/validation.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-memory.js +906 -0
- package/dist/cjs/mods/security/src/components/secure-memory.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/core/secure-object-core.js +1605 -0
- package/dist/cjs/mods/security/src/components/secure-object/core/secure-object-core.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/encryption/crypto-handler.js +362 -0
- package/dist/cjs/mods/security/src/components/secure-object/encryption/crypto-handler.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/encryption/sensitive-keys.js +206 -0
- package/dist/cjs/mods/security/src/components/secure-object/encryption/sensitive-keys.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/events/event-manager.js +197 -0
- package/dist/cjs/mods/security/src/components/secure-object/events/event-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/index.js +67 -0
- package/dist/cjs/mods/security/src/components/secure-object/index.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/metadata/metadata-manager.js +183 -0
- package/dist/cjs/mods/security/src/components/secure-object/metadata/metadata-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/serialization/serialization-handler.js +197 -0
- package/dist/cjs/mods/security/src/components/secure-object/serialization/serialization-handler.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/utils/id-generator.js +64 -0
- package/dist/cjs/mods/security/src/components/secure-object/utils/id-generator.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-object/utils/validation.js +239 -0
- package/dist/cjs/mods/security/src/components/secure-object/utils/validation.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-serialization.js +772 -0
- package/dist/cjs/mods/security/src/components/secure-serialization.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/advanced/entropy-analyzer.js +308 -0
- package/dist/cjs/mods/security/src/components/secure-string/advanced/entropy-analyzer.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/advanced/performance-monitor.js +335 -0
- package/dist/cjs/mods/security/src/components/secure-string/advanced/performance-monitor.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/advanced/quantum-safe.js +245 -0
- package/dist/cjs/mods/security/src/components/secure-string/advanced/quantum-safe.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/buffer/buffer-manager.js +205 -0
- package/dist/cjs/mods/security/src/components/secure-string/buffer/buffer-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/core/secure-string-core.js +788 -0
- package/dist/cjs/mods/security/src/components/secure-string/core/secure-string-core.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/crypto/crypto-operations.js +319 -0
- package/dist/cjs/mods/security/src/components/secure-string/crypto/crypto-operations.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/operations/comparison-operations.js +221 -0
- package/dist/cjs/mods/security/src/components/secure-string/operations/comparison-operations.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/operations/string-operations.js +234 -0
- package/dist/cjs/mods/security/src/components/secure-string/operations/string-operations.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/types/index.js +41 -0
- package/dist/cjs/mods/security/src/components/secure-string/types/index.js.map +1 -0
- package/dist/cjs/mods/security/src/components/secure-string/validation/string-validator.js +334 -0
- package/dist/cjs/mods/security/src/components/secure-string/validation/string-validator.js.map +1 -0
- package/dist/cjs/mods/security/src/components/side-channel.js +146 -0
- package/dist/cjs/mods/security/src/components/side-channel.js.map +1 -0
- package/dist/cjs/mods/security/src/components/tamper-evident-logging.js +391 -0
- package/dist/cjs/mods/security/src/components/tamper-evident-logging.js.map +1 -0
- package/dist/cjs/mods/security/src/const/buffer.const.js +15 -0
- package/dist/cjs/mods/security/src/const/buffer.const.js.map +1 -0
- package/dist/cjs/mods/security/src/core/crypto.js +722 -0
- package/dist/cjs/mods/security/src/core/crypto.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-advanced.js +388 -0
- package/dist/cjs/mods/security/src/core/hash/hash-advanced.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-core.js +376 -0
- package/dist/cjs/mods/security/src/core/hash/hash-core.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-entropy.js +307 -0
- package/dist/cjs/mods/security/src/core/hash/hash-entropy.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-security.js +372 -0
- package/dist/cjs/mods/security/src/core/hash/hash-security.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-types.js +16 -0
- package/dist/cjs/mods/security/src/core/hash/hash-types.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-utils.js +328 -0
- package/dist/cjs/mods/security/src/core/hash/hash-utils.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash/hash-validator.js +312 -0
- package/dist/cjs/mods/security/src/core/hash/hash-validator.js.map +1 -0
- package/dist/cjs/mods/security/src/core/hash.js +25 -0
- package/dist/cjs/mods/security/src/core/hash.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js +135 -0
- package/dist/cjs/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js +293 -0
- package/dist/cjs/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js +317 -0
- package/dist/cjs/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/keys-core.js +201 -0
- package/dist/cjs/mods/security/src/core/keys/keys-core.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/keys-logger.js +234 -0
- package/dist/cjs/mods/security/src/core/keys/keys-logger.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/keys-types.js +65 -0
- package/dist/cjs/mods/security/src/core/keys/keys-types.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys/keys-utils.js +322 -0
- package/dist/cjs/mods/security/src/core/keys/keys-utils.js.map +1 -0
- package/dist/cjs/mods/security/src/core/keys.js +136 -0
- package/dist/cjs/mods/security/src/core/keys.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/index.js +122 -0
- package/dist/cjs/mods/security/src/core/password/index.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-algorithms.js +397 -0
- package/dist/cjs/mods/security/src/core/password/password-algorithms.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-core.js +294 -0
- package/dist/cjs/mods/security/src/core/password/password-core.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-generator.js +365 -0
- package/dist/cjs/mods/security/src/core/password/password-generator.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-migration.js +237 -0
- package/dist/cjs/mods/security/src/core/password/password-migration.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-security.js +534 -0
- package/dist/cjs/mods/security/src/core/password/password-security.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-types.js +39 -0
- package/dist/cjs/mods/security/src/core/password/password-types.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/password-utils.js +651 -0
- package/dist/cjs/mods/security/src/core/password/password-utils.js.map +1 -0
- package/dist/cjs/mods/security/src/core/password/swlist.js +1122 -0
- package/dist/cjs/mods/security/src/core/password/swlist.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-core.js +328 -0
- package/dist/cjs/mods/security/src/core/random/random-core.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-crypto.js +339 -0
- package/dist/cjs/mods/security/src/core/random/random-crypto.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-entropy.js +388 -0
- package/dist/cjs/mods/security/src/core/random/random-entropy.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-generators.js +344 -0
- package/dist/cjs/mods/security/src/core/random/random-generators.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-sources.js +426 -0
- package/dist/cjs/mods/security/src/core/random/random-sources.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-tokens.js +309 -0
- package/dist/cjs/mods/security/src/core/random/random-tokens.js.map +1 -0
- package/dist/cjs/mods/security/src/core/random/random-types.js +36 -0
- package/dist/cjs/mods/security/src/core/random/random-types.js.map +1 -0
- package/dist/cjs/mods/security/src/core/validators.js +200 -0
- package/dist/cjs/mods/security/src/core/validators.js.map +1 -0
- package/dist/cjs/mods/security/src/helpers/Uint8Array.js +335 -0
- package/dist/cjs/mods/security/src/helpers/Uint8Array.js.map +1 -0
- package/dist/cjs/mods/security/src/helpers/createEnu.js +27 -0
- package/dist/cjs/mods/security/src/helpers/createEnu.js.map +1 -0
- package/dist/cjs/mods/security/src/index.js +417 -0
- package/dist/cjs/mods/security/src/index.js.map +1 -0
- package/dist/cjs/mods/security/src/types/global.js +51 -0
- package/dist/cjs/mods/security/src/types/global.js.map +1 -0
- package/dist/cjs/mods/security/src/types/secure-mem.type.js +100 -0
- package/dist/cjs/mods/security/src/types/secure-mem.type.js.map +1 -0
- package/dist/cjs/mods/security/src/types/secure-memory.js +20 -0
- package/dist/cjs/mods/security/src/types/secure-memory.js.map +1 -0
- package/dist/cjs/mods/security/src/types.js +63 -0
- package/dist/cjs/mods/security/src/types.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/CryptoAlgorithmUtils.js +71 -0
- package/dist/cjs/mods/security/src/utils/CryptoAlgorithmUtils.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/constants.js +111 -0
- package/dist/cjs/mods/security/src/utils/constants.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/dataConverter.js +74 -0
- package/dist/cjs/mods/security/src/utils/dataConverter.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/encoding.js +290 -0
- package/dist/cjs/mods/security/src/utils/encoding.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/errorHandler.js +140 -0
- package/dist/cjs/mods/security/src/utils/errorHandler.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/config-manager.js +282 -0
- package/dist/cjs/mods/security/src/utils/memory/config-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/event-manager.js +277 -0
- package/dist/cjs/mods/security/src/utils/memory/event-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/index.js +162 -0
- package/dist/cjs/mods/security/src/utils/memory/index.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/memory-manager.js +888 -0
- package/dist/cjs/mods/security/src/utils/memory/memory-manager.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/memory-pool.js +356 -0
- package/dist/cjs/mods/security/src/utils/memory/memory-pool.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/reference-tracker.js +376 -0
- package/dist/cjs/mods/security/src/utils/memory/reference-tracker.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/memory/types.js +56 -0
- package/dist/cjs/mods/security/src/utils/memory/types.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/patterns.js +127 -0
- package/dist/cjs/mods/security/src/utils/patterns.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/performanceMonitor.js +249 -0
- package/dist/cjs/mods/security/src/utils/performanceMonitor.js.map +1 -0
- package/dist/cjs/mods/security/src/utils/stats.js +182 -0
- package/dist/cjs/mods/security/src/utils/stats.js.map +1 -0
- package/dist/cjs/security-middleware.js +15 -15
- package/dist/cjs/server/components/fastapi/UltraFastRequestProcessor.js +1 -1
- package/dist/cjs/server/components/fastapi/console/ConsoleInterceptor.js +23 -23
- package/dist/cjs/server/components/fastapi/middlewares/MiddlewareAPI.js +1 -1
- package/dist/cjs/server/optimization/RequestPreCompiler.js +1 -1
- package/dist/cjs/server/plugins/PluginRegistry.js +1 -1
- package/dist/cjs/server/plugins/core/CachePlugin.js +7 -7
- package/dist/cjs/server/plugins/core/PerformancePlugin.js +2 -2
- package/dist/cjs/server/plugins/core/SecurityPlugin.js +10 -10
- package/dist/cjs/smart-routes.js +1 -1
- package/dist/esm/ServerFactory.js +1 -1
- package/dist/esm/cache/SecureCacheAdapter.js +2 -2
- package/dist/esm/cluster/cluster-manager.js +1 -1
- package/dist/esm/cluster/index.js +30 -30
- package/dist/esm/cluster/modules/AutoScaler.js +2 -2
- package/dist/esm/cluster/modules/ClusterPersistenceManager.js +3 -3
- package/dist/esm/cluster/modules/HealthMonitor.js +2 -2
- package/dist/esm/cluster/modules/IPCManager.js +2 -2
- package/dist/esm/cluster/modules/MetricsCollector.js +1 -1
- package/dist/esm/cluster/modules/WorkerManager.js +2 -2
- package/dist/esm/encryption/EncryptionService.js +12 -12
- package/dist/esm/encryption/EncryptionService.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/middleware/safe-json-middleware.js +1 -1
- package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +705 -0
- package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -0
- package/dist/esm/mods/security/src/algorithms/registry.js +81 -0
- package/dist/esm/mods/security/src/algorithms/registry.js.map +1 -0
- package/dist/esm/mods/security/src/components/attestation.js +1059 -0
- package/dist/esm/mods/security/src/components/attestation.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/FastLRU.js +320 -0
- package/dist/esm/mods/security/src/components/cache/FastLRU.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/UFSIMC.js +1109 -0
- package/dist/esm/mods/security/src/components/cache/UFSIMC.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/cacheSys.js +622 -0
- package/dist/esm/mods/security/src/components/cache/cacheSys.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +111 -0
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/config/cache.config.js +36 -0
- package/dist/esm/mods/security/src/components/cache/config/cache.config.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/index.js +449 -0
- package/dist/esm/mods/security/src/components/cache/index.js.map +1 -0
- package/dist/esm/mods/security/src/components/cache/useCache.js +240 -0
- package/dist/esm/mods/security/src/components/cache/useCache.js.map +1 -0
- package/dist/esm/mods/security/src/components/canary-tokens.js +346 -0
- package/dist/esm/mods/security/src/components/canary-tokens.js.map +1 -0
- package/dist/esm/mods/security/src/components/entropy-augmentation.js +476 -0
- package/dist/esm/mods/security/src/components/entropy-augmentation.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js +336 -0
- package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-allocator.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js +534 -0
- package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-cache.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js +629 -0
- package/dist/esm/mods/security/src/components/fortified-function/UFA/ultra-fast-engine.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/const/exec.const.js +11 -0
- package/dist/esm/mods/security/src/components/fortified-function/const/exec.const.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/fortified-config.js +351 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/fortified-config.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/fortified-function-core.js +518 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/fortified-function-core.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/fortified-logger.js +243 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/fortified-logger.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/api-manager.js +187 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/api-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/cache-manager.js +105 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/cache-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-context.js +103 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-context.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-engine.js +125 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-engine.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-router.js +91 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/execution-router.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/memory-manager.js +145 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/memory-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/security-manager.js +100 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/security-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/stats-manager.js +157 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/stats-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/timing-manager.js +123 -0
- package/dist/esm/mods/security/src/components/fortified-function/core/mods/timing-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/engines/analytics-engine.js +368 -0
- package/dist/esm/mods/security/src/components/fortified-function/engines/analytics-engine.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/engines/execution-engine.js +400 -0
- package/dist/esm/mods/security/src/components/fortified-function/engines/execution-engine.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/index.js +165 -0
- package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/performance/performance-monitor.js +238 -0
- package/dist/esm/mods/security/src/components/fortified-function/performance/performance-monitor.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/performance/performance-timer.js +186 -0
- package/dist/esm/mods/security/src/components/fortified-function/performance/performance-timer.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +251 -0
- package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/serializer/safe-serializer.js +344 -0
- package/dist/esm/mods/security/src/components/fortified-function/serializer/safe-serializer.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/smart-cache.js +691 -0
- package/dist/esm/mods/security/src/components/fortified-function/smart-cache.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/types/types.js +14 -0
- package/dist/esm/mods/security/src/components/fortified-function/types/types.js.map +1 -0
- package/dist/esm/mods/security/src/components/fortified-function/utils/utils.js +66 -0
- package/dist/esm/mods/security/src/components/fortified-function/utils/utils.js.map +1 -0
- package/dist/esm/mods/security/src/components/memory-hard.js +919 -0
- package/dist/esm/mods/security/src/components/memory-hard.js.map +1 -0
- package/dist/esm/mods/security/src/components/post-quantum.js +316 -0
- package/dist/esm/mods/security/src/components/post-quantum.js.map +1 -0
- package/dist/esm/mods/security/src/components/runtime-verification.js +643 -0
- package/dist/esm/mods/security/src/components/runtime-verification.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/core/secure-array-core.js +1570 -0
- package/dist/esm/mods/security/src/components/secure-array/core/secure-array-core.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js +328 -0
- package/dist/esm/mods/security/src/components/secure-array/crypto/ArrayCryptoHandler.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/events/event-manager.js +268 -0
- package/dist/esm/mods/security/src/components/secure-array/events/event-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/index.js +61 -0
- package/dist/esm/mods/security/src/components/secure-array/index.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/metadata/metadata-manager.js +329 -0
- package/dist/esm/mods/security/src/components/secure-array/metadata/metadata-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js +388 -0
- package/dist/esm/mods/security/src/components/secure-array/serialization/ArraySerializationHandler.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/types/index.js +84 -0
- package/dist/esm/mods/security/src/components/secure-array/types/index.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/utils/id-generator.js +78 -0
- package/dist/esm/mods/security/src/components/secure-array/utils/id-generator.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-array/utils/validation.js +273 -0
- package/dist/esm/mods/security/src/components/secure-array/utils/validation.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-memory.js +884 -0
- package/dist/esm/mods/security/src/components/secure-memory.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/core/secure-object-core.js +1603 -0
- package/dist/esm/mods/security/src/components/secure-object/core/secure-object-core.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/encryption/crypto-handler.js +360 -0
- package/dist/esm/mods/security/src/components/secure-object/encryption/crypto-handler.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/encryption/sensitive-keys.js +203 -0
- package/dist/esm/mods/security/src/components/secure-object/encryption/sensitive-keys.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/events/event-manager.js +195 -0
- package/dist/esm/mods/security/src/components/secure-object/events/event-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/index.js +63 -0
- package/dist/esm/mods/security/src/components/secure-object/index.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/metadata/metadata-manager.js +181 -0
- package/dist/esm/mods/security/src/components/secure-object/metadata/metadata-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/serialization/serialization-handler.js +195 -0
- package/dist/esm/mods/security/src/components/secure-object/serialization/serialization-handler.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/utils/id-generator.js +62 -0
- package/dist/esm/mods/security/src/components/secure-object/utils/id-generator.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-object/utils/validation.js +237 -0
- package/dist/esm/mods/security/src/components/secure-object/utils/validation.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-serialization.js +769 -0
- package/dist/esm/mods/security/src/components/secure-serialization.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/advanced/entropy-analyzer.js +306 -0
- package/dist/esm/mods/security/src/components/secure-string/advanced/entropy-analyzer.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/advanced/performance-monitor.js +333 -0
- package/dist/esm/mods/security/src/components/secure-string/advanced/performance-monitor.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/advanced/quantum-safe.js +243 -0
- package/dist/esm/mods/security/src/components/secure-string/advanced/quantum-safe.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/buffer/buffer-manager.js +203 -0
- package/dist/esm/mods/security/src/components/secure-string/buffer/buffer-manager.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/core/secure-string-core.js +786 -0
- package/dist/esm/mods/security/src/components/secure-string/core/secure-string-core.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/crypto/crypto-operations.js +298 -0
- package/dist/esm/mods/security/src/components/secure-string/crypto/crypto-operations.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/operations/comparison-operations.js +219 -0
- package/dist/esm/mods/security/src/components/secure-string/operations/comparison-operations.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/operations/string-operations.js +232 -0
- package/dist/esm/mods/security/src/components/secure-string/operations/string-operations.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/types/index.js +37 -0
- package/dist/esm/mods/security/src/components/secure-string/types/index.js.map +1 -0
- package/dist/esm/mods/security/src/components/secure-string/validation/string-validator.js +332 -0
- package/dist/esm/mods/security/src/components/secure-string/validation/string-validator.js.map +1 -0
- package/dist/esm/mods/security/src/components/side-channel.js +142 -0
- package/dist/esm/mods/security/src/components/side-channel.js.map +1 -0
- package/dist/esm/mods/security/src/components/tamper-evident-logging.js +389 -0
- package/dist/esm/mods/security/src/components/tamper-evident-logging.js.map +1 -0
- package/dist/esm/mods/security/src/const/buffer.const.js +13 -0
- package/dist/esm/mods/security/src/const/buffer.const.js.map +1 -0
- package/dist/esm/mods/security/src/core/crypto.js +720 -0
- package/dist/esm/mods/security/src/core/crypto.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-advanced.js +367 -0
- package/dist/esm/mods/security/src/core/hash/hash-advanced.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-core.js +355 -0
- package/dist/esm/mods/security/src/core/hash/hash-core.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-entropy.js +286 -0
- package/dist/esm/mods/security/src/core/hash/hash-entropy.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-security.js +351 -0
- package/dist/esm/mods/security/src/core/hash/hash-security.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-types.js +16 -0
- package/dist/esm/mods/security/src/core/hash/hash-types.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-utils.js +307 -0
- package/dist/esm/mods/security/src/core/hash/hash-utils.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash/hash-validator.js +310 -0
- package/dist/esm/mods/security/src/core/hash/hash-validator.js.map +1 -0
- package/dist/esm/mods/security/src/core/hash.js +9 -0
- package/dist/esm/mods/security/src/core/hash.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js +133 -0
- package/dist/esm/mods/security/src/core/keys/algorithms/mods/Argon2Algo.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js +272 -0
- package/dist/esm/mods/security/src/core/keys/algorithms/mods/PBKDF2Algo.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js +296 -0
- package/dist/esm/mods/security/src/core/keys/algorithms/mods/ScryptAlgo.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/keys-core.js +199 -0
- package/dist/esm/mods/security/src/core/keys/keys-core.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/keys-logger.js +231 -0
- package/dist/esm/mods/security/src/core/keys/keys-logger.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/keys-types.js +63 -0
- package/dist/esm/mods/security/src/core/keys/keys-types.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys/keys-utils.js +316 -0
- package/dist/esm/mods/security/src/core/keys/keys-utils.js.map +1 -0
- package/dist/esm/mods/security/src/core/keys.js +134 -0
- package/dist/esm/mods/security/src/core/keys.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/index.js +110 -0
- package/dist/esm/mods/security/src/core/password/index.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-algorithms.js +395 -0
- package/dist/esm/mods/security/src/core/password/password-algorithms.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-core.js +292 -0
- package/dist/esm/mods/security/src/core/password/password-core.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-generator.js +363 -0
- package/dist/esm/mods/security/src/core/password/password-generator.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-migration.js +235 -0
- package/dist/esm/mods/security/src/core/password/password-migration.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-security.js +532 -0
- package/dist/esm/mods/security/src/core/password/password-security.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-types.js +34 -0
- package/dist/esm/mods/security/src/core/password/password-types.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/password-utils.js +630 -0
- package/dist/esm/mods/security/src/core/password/password-utils.js.map +1 -0
- package/dist/esm/mods/security/src/core/password/swlist.js +1120 -0
- package/dist/esm/mods/security/src/core/password/swlist.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-core.js +326 -0
- package/dist/esm/mods/security/src/core/random/random-core.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-crypto.js +337 -0
- package/dist/esm/mods/security/src/core/random/random-crypto.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-entropy.js +367 -0
- package/dist/esm/mods/security/src/core/random/random-entropy.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-generators.js +323 -0
- package/dist/esm/mods/security/src/core/random/random-generators.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-sources.js +405 -0
- package/dist/esm/mods/security/src/core/random/random-sources.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-tokens.js +307 -0
- package/dist/esm/mods/security/src/core/random/random-tokens.js.map +1 -0
- package/dist/esm/mods/security/src/core/random/random-types.js +27 -0
- package/dist/esm/mods/security/src/core/random/random-types.js.map +1 -0
- package/dist/esm/mods/security/src/core/validators.js +198 -0
- package/dist/esm/mods/security/src/core/validators.js.map +1 -0
- package/dist/esm/mods/security/src/helpers/Uint8Array.js +333 -0
- package/dist/esm/mods/security/src/helpers/Uint8Array.js.map +1 -0
- package/dist/esm/mods/security/src/helpers/createEnu.js +25 -0
- package/dist/esm/mods/security/src/helpers/createEnu.js.map +1 -0
- package/dist/esm/mods/security/src/index.js +373 -0
- package/dist/esm/mods/security/src/index.js.map +1 -0
- package/dist/esm/mods/security/src/types/global.js +49 -0
- package/dist/esm/mods/security/src/types/global.js.map +1 -0
- package/dist/esm/mods/security/src/types/secure-mem.type.js +96 -0
- package/dist/esm/mods/security/src/types/secure-mem.type.js.map +1 -0
- package/dist/esm/mods/security/src/types/secure-memory.js +20 -0
- package/dist/esm/mods/security/src/types/secure-memory.js.map +1 -0
- package/dist/esm/mods/security/src/types.js +63 -0
- package/dist/esm/mods/security/src/types.js.map +1 -0
- package/dist/esm/mods/security/src/utils/CryptoAlgorithmUtils.js +69 -0
- package/dist/esm/mods/security/src/utils/CryptoAlgorithmUtils.js.map +1 -0
- package/dist/esm/mods/security/src/utils/constants.js +105 -0
- package/dist/esm/mods/security/src/utils/constants.js.map +1 -0
- package/dist/esm/mods/security/src/utils/dataConverter.js +72 -0
- package/dist/esm/mods/security/src/utils/dataConverter.js.map +1 -0
- package/dist/esm/mods/security/src/utils/encoding.js +279 -0
- package/dist/esm/mods/security/src/utils/encoding.js.map +1 -0
- package/dist/esm/mods/security/src/utils/errorHandler.js +137 -0
- package/dist/esm/mods/security/src/utils/errorHandler.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/config-manager.js +280 -0
- package/dist/esm/mods/security/src/utils/memory/config-manager.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/event-manager.js +275 -0
- package/dist/esm/mods/security/src/utils/memory/event-manager.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/index.js +141 -0
- package/dist/esm/mods/security/src/utils/memory/index.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/memory-manager.js +886 -0
- package/dist/esm/mods/security/src/utils/memory/memory-manager.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/memory-pool.js +354 -0
- package/dist/esm/mods/security/src/utils/memory/memory-pool.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/reference-tracker.js +374 -0
- package/dist/esm/mods/security/src/utils/memory/reference-tracker.js.map +1 -0
- package/dist/esm/mods/security/src/utils/memory/types.js +56 -0
- package/dist/esm/mods/security/src/utils/memory/types.js.map +1 -0
- package/dist/esm/mods/security/src/utils/patterns.js +124 -0
- package/dist/esm/mods/security/src/utils/patterns.js.map +1 -0
- package/dist/esm/mods/security/src/utils/performanceMonitor.js +246 -0
- package/dist/esm/mods/security/src/utils/performanceMonitor.js.map +1 -0
- package/dist/esm/mods/security/src/utils/stats.js +180 -0
- package/dist/esm/mods/security/src/utils/stats.js.map +1 -0
- package/dist/esm/security-middleware.js +15 -15
- package/dist/esm/server/components/fastapi/UltraFastRequestProcessor.js +1 -1
- package/dist/esm/server/components/fastapi/console/ConsoleInterceptor.js +23 -23
- package/dist/esm/server/components/fastapi/middlewares/MiddlewareAPI.js +1 -1
- package/dist/esm/server/optimization/RequestPreCompiler.js +1 -1
- package/dist/esm/server/plugins/PluginRegistry.js +1 -1
- package/dist/esm/server/plugins/core/CachePlugin.js +7 -7
- package/dist/esm/server/plugins/core/PerformancePlugin.js +2 -2
- package/dist/esm/server/plugins/core/SecurityPlugin.js +10 -10
- package/dist/esm/smart-routes.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,788 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('../../../utils/memory/index.js');
|
|
4
|
+
var bufferManager = require('../buffer/buffer-manager.js');
|
|
5
|
+
var stringOperations = require('../operations/string-operations.js');
|
|
6
|
+
var comparisonOperations = require('../operations/comparison-operations.js');
|
|
7
|
+
var cryptoOperations = require('../crypto/crypto-operations.js');
|
|
8
|
+
var stringValidator = require('../validation/string-validator.js');
|
|
9
|
+
var entropyAnalyzer = require('../advanced/entropy-analyzer.js');
|
|
10
|
+
var quantumSafe = require('../advanced/quantum-safe.js');
|
|
11
|
+
var performanceMonitor = require('../advanced/performance-monitor.js');
|
|
12
|
+
var types = require('../../../utils/memory/types.js');
|
|
13
|
+
|
|
14
|
+
/***************************************************************************
|
|
15
|
+
* XyPrissSecurity - Secure Array Types
|
|
16
|
+
*
|
|
17
|
+
* This file contains type definitions for the SecureArray modular architecture
|
|
18
|
+
*
|
|
19
|
+
* @author Nehonix
|
|
20
|
+
*
|
|
21
|
+
* @license MIT
|
|
22
|
+
*
|
|
23
|
+
* Copyright (c) 2025 Nehonix. All rights reserved.
|
|
24
|
+
*
|
|
25
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
26
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
27
|
+
* in the Software without restriction, including without limitation the rights
|
|
28
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
29
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
30
|
+
* furnished to do so, subject to the following conditions:
|
|
31
|
+
*
|
|
32
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
33
|
+
* copies or substantial portions of the Software.
|
|
34
|
+
*
|
|
35
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
36
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
37
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
38
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
39
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
40
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
41
|
+
* SOFTWARE.
|
|
42
|
+
***************************************************************************** */
|
|
43
|
+
// Import enhanced memory management
|
|
44
|
+
/**
|
|
45
|
+
* A secure string that can be explicitly cleared from memory with modular architecture
|
|
46
|
+
*/
|
|
47
|
+
class SecureString {
|
|
48
|
+
/**
|
|
49
|
+
* Creates a new secure string with enhanced memory management
|
|
50
|
+
*/
|
|
51
|
+
constructor(value = "", options = {}) {
|
|
52
|
+
this.eventListeners = new Map();
|
|
53
|
+
this._isDestroyed = false;
|
|
54
|
+
this._memoryTracking = false;
|
|
55
|
+
this._createdAt = Date.now();
|
|
56
|
+
this._id = `secure-string-${Date.now()}-${Math.random()
|
|
57
|
+
.toString(36)
|
|
58
|
+
.substring(2, 9)}`;
|
|
59
|
+
this.bufferManager = new bufferManager.BufferManager(value, options);
|
|
60
|
+
// Enable memory tracking by default for security
|
|
61
|
+
this._memoryTracking = options.enableMemoryTracking ?? true;
|
|
62
|
+
// Register with advanced memory manager
|
|
63
|
+
if (this._memoryTracking) {
|
|
64
|
+
index.memoryManager.registerObject(this, this._id);
|
|
65
|
+
// Listen to memory events for proactive management
|
|
66
|
+
index.memoryManager.on(types.MemoryEventType.MEMORY_PRESSURE, (event) => {
|
|
67
|
+
if (event.data?.pressure > 0.8) {
|
|
68
|
+
this.handleMemoryPressure();
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
index.memoryManager.on(types.MemoryEventType.LEAK_DETECTED, (event) => {
|
|
72
|
+
if (event.data?.leaks?.includes(this._id)) {
|
|
73
|
+
console.warn(`Potential memory leak detected in SecureString ${this._id}`);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Initialize secure string pool for efficient reuse
|
|
78
|
+
this.initializeSecureStringPool();
|
|
79
|
+
this.emit("created", {
|
|
80
|
+
value: value.length,
|
|
81
|
+
id: this._id,
|
|
82
|
+
memoryTracking: this._memoryTracking,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Creates a SecureString from another SecureString (copy constructor)
|
|
87
|
+
*/
|
|
88
|
+
static from(other) {
|
|
89
|
+
other.ensureNotDestroyed();
|
|
90
|
+
const value = other.toString();
|
|
91
|
+
const options = other.bufferManager.getOptions();
|
|
92
|
+
return new SecureString(value, options);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Creates a SecureString from a buffer
|
|
96
|
+
*/
|
|
97
|
+
static fromBuffer(buffer, options = {}, encoding = "utf-8") {
|
|
98
|
+
const bufferManager$1 = bufferManager.BufferManager.fromUint8Array(buffer, options, encoding);
|
|
99
|
+
const secureString = Object.create(SecureString.prototype);
|
|
100
|
+
secureString.bufferManager = bufferManager$1;
|
|
101
|
+
secureString.eventListeners = new Map();
|
|
102
|
+
secureString._isDestroyed = false;
|
|
103
|
+
secureString.emit("created", { fromBuffer: true });
|
|
104
|
+
return secureString;
|
|
105
|
+
}
|
|
106
|
+
// ===== PROPERTY ACCESSORS =====
|
|
107
|
+
/**
|
|
108
|
+
* Gets the string value
|
|
109
|
+
*/
|
|
110
|
+
toString() {
|
|
111
|
+
this.ensureNotDestroyed();
|
|
112
|
+
const value = this.bufferManager.getString();
|
|
113
|
+
this.emit("accessed", { operation: "toString" });
|
|
114
|
+
return value;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Gets the raw buffer (copy)
|
|
118
|
+
*/
|
|
119
|
+
toBuffer() {
|
|
120
|
+
this.ensureNotDestroyed();
|
|
121
|
+
const buffer = this.bufferManager.toUint8Array();
|
|
122
|
+
this.emit("accessed", { operation: "toBuffer" });
|
|
123
|
+
return buffer;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Gets the length of the string
|
|
127
|
+
*/
|
|
128
|
+
length() {
|
|
129
|
+
this.ensureNotDestroyed();
|
|
130
|
+
return this.bufferManager.getCharacterLength();
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Gets the byte length of the string in UTF-8 encoding
|
|
134
|
+
*/
|
|
135
|
+
byteLength() {
|
|
136
|
+
this.ensureNotDestroyed();
|
|
137
|
+
return this.bufferManager.getByteLength();
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Checks if the string is empty
|
|
141
|
+
*/
|
|
142
|
+
isEmpty() {
|
|
143
|
+
this.ensureNotDestroyed();
|
|
144
|
+
return this.bufferManager.isEmpty();
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Checks if the SecureString has been destroyed
|
|
148
|
+
*/
|
|
149
|
+
isDestroyed() {
|
|
150
|
+
return this._isDestroyed;
|
|
151
|
+
}
|
|
152
|
+
// ===== STRING MANIPULATION METHODS =====
|
|
153
|
+
/**
|
|
154
|
+
* Appends another string
|
|
155
|
+
*/
|
|
156
|
+
append(value) {
|
|
157
|
+
this.ensureNotDestroyed();
|
|
158
|
+
const currentValue = this.toString();
|
|
159
|
+
const appendValue = value instanceof SecureString ? value.toString() : value;
|
|
160
|
+
const newValue = stringOperations.StringOperations.append(currentValue, appendValue);
|
|
161
|
+
this.bufferManager.updateBuffer(newValue);
|
|
162
|
+
this.emit("modified", {
|
|
163
|
+
operation: "append",
|
|
164
|
+
length: appendValue.length,
|
|
165
|
+
});
|
|
166
|
+
return this;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Prepends another string
|
|
170
|
+
*/
|
|
171
|
+
prepend(value) {
|
|
172
|
+
this.ensureNotDestroyed();
|
|
173
|
+
const currentValue = this.toString();
|
|
174
|
+
const prependValue = value instanceof SecureString ? value.toString() : value;
|
|
175
|
+
const newValue = stringOperations.StringOperations.prepend(currentValue, prependValue);
|
|
176
|
+
this.bufferManager.updateBuffer(newValue);
|
|
177
|
+
this.emit("modified", {
|
|
178
|
+
operation: "prepend",
|
|
179
|
+
length: prependValue.length,
|
|
180
|
+
});
|
|
181
|
+
return this;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Replaces the entire content with a new value
|
|
185
|
+
*/
|
|
186
|
+
replace(value) {
|
|
187
|
+
this.ensureNotDestroyed();
|
|
188
|
+
const newValue = value instanceof SecureString ? value.toString() : value;
|
|
189
|
+
this.bufferManager.updateBuffer(newValue);
|
|
190
|
+
this.emit("modified", {
|
|
191
|
+
operation: "replace",
|
|
192
|
+
newLength: newValue.length,
|
|
193
|
+
});
|
|
194
|
+
return this;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Extracts a substring
|
|
198
|
+
*/
|
|
199
|
+
substring(start, end) {
|
|
200
|
+
this.ensureNotDestroyed();
|
|
201
|
+
const currentValue = this.toString();
|
|
202
|
+
const substr = stringOperations.StringOperations.substring(currentValue, start, end);
|
|
203
|
+
return new SecureString(substr, this.bufferManager.getOptions());
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Splits the string into an array of SecureStrings
|
|
207
|
+
*/
|
|
208
|
+
split(separator, options = {}) {
|
|
209
|
+
this.ensureNotDestroyed();
|
|
210
|
+
const currentValue = this.toString();
|
|
211
|
+
const parts = stringOperations.StringOperations.split(currentValue, separator, options);
|
|
212
|
+
const stringOptions = this.bufferManager.getOptions();
|
|
213
|
+
return parts.map((part) => new SecureString(part, stringOptions));
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Trims whitespace from both ends
|
|
217
|
+
*/
|
|
218
|
+
trim() {
|
|
219
|
+
this.ensureNotDestroyed();
|
|
220
|
+
const currentValue = this.toString();
|
|
221
|
+
const trimmedValue = stringOperations.StringOperations.trim(currentValue);
|
|
222
|
+
this.bufferManager.updateBuffer(trimmedValue);
|
|
223
|
+
this.emit("modified", { operation: "trim" });
|
|
224
|
+
return this;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Converts to uppercase
|
|
228
|
+
*/
|
|
229
|
+
toUpperCase() {
|
|
230
|
+
this.ensureNotDestroyed();
|
|
231
|
+
const currentValue = this.toString();
|
|
232
|
+
const upperValue = stringOperations.StringOperations.toUpperCase(currentValue);
|
|
233
|
+
return new SecureString(upperValue, this.bufferManager.getOptions());
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Converts to lowercase
|
|
237
|
+
*/
|
|
238
|
+
toLowerCase() {
|
|
239
|
+
this.ensureNotDestroyed();
|
|
240
|
+
const currentValue = this.toString();
|
|
241
|
+
const lowerValue = stringOperations.StringOperations.toLowerCase(currentValue);
|
|
242
|
+
return new SecureString(lowerValue, this.bufferManager.getOptions());
|
|
243
|
+
}
|
|
244
|
+
// ===== COMPARISON METHODS =====
|
|
245
|
+
/**
|
|
246
|
+
* Compares this SecureString with another string (constant-time comparison)
|
|
247
|
+
*/
|
|
248
|
+
equals(other, constantTime = true) {
|
|
249
|
+
this.ensureNotDestroyed();
|
|
250
|
+
const thisValue = this.toString();
|
|
251
|
+
const otherValue = other instanceof SecureString ? other.toString() : other;
|
|
252
|
+
const result = constantTime
|
|
253
|
+
? comparisonOperations.ComparisonOperations.constantTimeEquals(thisValue, otherValue)
|
|
254
|
+
: comparisonOperations.ComparisonOperations.regularEquals(thisValue, otherValue);
|
|
255
|
+
this.emit("compared", {
|
|
256
|
+
operation: "equals",
|
|
257
|
+
constantTime,
|
|
258
|
+
result: result.isEqual,
|
|
259
|
+
});
|
|
260
|
+
return result.isEqual;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Performs detailed comparison with timing information
|
|
264
|
+
*/
|
|
265
|
+
compare(other, constantTime = true) {
|
|
266
|
+
this.ensureNotDestroyed();
|
|
267
|
+
const thisValue = this.toString();
|
|
268
|
+
const otherValue = other instanceof SecureString ? other.toString() : other;
|
|
269
|
+
const result = constantTime
|
|
270
|
+
? comparisonOperations.ComparisonOperations.constantTimeEquals(thisValue, otherValue)
|
|
271
|
+
: comparisonOperations.ComparisonOperations.regularEquals(thisValue, otherValue);
|
|
272
|
+
this.emit("compared", {
|
|
273
|
+
operation: "compare",
|
|
274
|
+
constantTime,
|
|
275
|
+
result: result.isEqual,
|
|
276
|
+
});
|
|
277
|
+
return result;
|
|
278
|
+
}
|
|
279
|
+
// ===== SEARCH METHODS =====
|
|
280
|
+
/**
|
|
281
|
+
* Checks if the string contains a substring
|
|
282
|
+
*/
|
|
283
|
+
includes(searchString, options = {}) {
|
|
284
|
+
this.ensureNotDestroyed();
|
|
285
|
+
const currentValue = this.toString();
|
|
286
|
+
const search = searchString instanceof SecureString
|
|
287
|
+
? searchString.toString()
|
|
288
|
+
: searchString;
|
|
289
|
+
return stringOperations.StringOperations.includes(currentValue, search, options);
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Checks if the string starts with a prefix
|
|
293
|
+
*/
|
|
294
|
+
startsWith(searchString, options = {}) {
|
|
295
|
+
this.ensureNotDestroyed();
|
|
296
|
+
const currentValue = this.toString();
|
|
297
|
+
const search = searchString instanceof SecureString
|
|
298
|
+
? searchString.toString()
|
|
299
|
+
: searchString;
|
|
300
|
+
return stringOperations.StringOperations.startsWith(currentValue, search, options);
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Checks if the string ends with a suffix
|
|
304
|
+
*/
|
|
305
|
+
endsWith(searchString, options = {}) {
|
|
306
|
+
this.ensureNotDestroyed();
|
|
307
|
+
const currentValue = this.toString();
|
|
308
|
+
const search = searchString instanceof SecureString
|
|
309
|
+
? searchString.toString()
|
|
310
|
+
: searchString;
|
|
311
|
+
return stringOperations.StringOperations.endsWith(currentValue, search, options);
|
|
312
|
+
}
|
|
313
|
+
// ===== VALIDATION METHODS =====
|
|
314
|
+
/**
|
|
315
|
+
* Validates the string as a password
|
|
316
|
+
*/
|
|
317
|
+
validatePassword(requirements = {}) {
|
|
318
|
+
this.ensureNotDestroyed();
|
|
319
|
+
const currentValue = this.toString();
|
|
320
|
+
return stringValidator.StringValidator.validatePassword(currentValue, requirements);
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Validates the string as an email
|
|
324
|
+
*/
|
|
325
|
+
validateEmail() {
|
|
326
|
+
this.ensureNotDestroyed();
|
|
327
|
+
const currentValue = this.toString();
|
|
328
|
+
return stringValidator.StringValidator.validateEmail(currentValue);
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Gets detailed string statistics
|
|
332
|
+
*/
|
|
333
|
+
getStatistics() {
|
|
334
|
+
this.ensureNotDestroyed();
|
|
335
|
+
const currentValue = this.toString();
|
|
336
|
+
return stringValidator.StringValidator.getStringStatistics(currentValue);
|
|
337
|
+
}
|
|
338
|
+
// ===== VALIDATION METHODS =====
|
|
339
|
+
/**
|
|
340
|
+
* Ensures the SecureString hasn't been destroyed
|
|
341
|
+
*/
|
|
342
|
+
ensureNotDestroyed() {
|
|
343
|
+
if (this._isDestroyed) {
|
|
344
|
+
throw new Error("String has been destroyed and cannot be used");
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Emits an event to all registered listeners
|
|
349
|
+
*/
|
|
350
|
+
emit(event, details) {
|
|
351
|
+
const listeners = this.eventListeners.get(event);
|
|
352
|
+
if (listeners) {
|
|
353
|
+
for (const listener of listeners) {
|
|
354
|
+
try {
|
|
355
|
+
listener(event, details);
|
|
356
|
+
}
|
|
357
|
+
catch (error) {
|
|
358
|
+
console.error(`Error in SecureString event listener:`, error);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
// ===== CRYPTOGRAPHIC METHODS =====
|
|
364
|
+
/**
|
|
365
|
+
* Creates a hash of the string content
|
|
366
|
+
*/
|
|
367
|
+
async hash(algorithm = "SHA-256", format = "hex") {
|
|
368
|
+
this.ensureNotDestroyed();
|
|
369
|
+
const content = this.toString();
|
|
370
|
+
const result = await cryptoOperations.CryptoOperations.hash(content, algorithm, format);
|
|
371
|
+
this.emit("hashed", { algorithm, format });
|
|
372
|
+
return result;
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Creates an HMAC of the string content
|
|
376
|
+
*/
|
|
377
|
+
async hmac(options, format = "hex") {
|
|
378
|
+
this.ensureNotDestroyed();
|
|
379
|
+
const content = this.toString();
|
|
380
|
+
const result = await cryptoOperations.CryptoOperations.hmac(content, options, format);
|
|
381
|
+
this.emit("hashed", {
|
|
382
|
+
type: "hmac",
|
|
383
|
+
algorithm: options.algorithm,
|
|
384
|
+
format,
|
|
385
|
+
});
|
|
386
|
+
return result;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Derives a key using PBKDF2
|
|
390
|
+
*/
|
|
391
|
+
async deriveKeyPBKDF2(options, format = "hex") {
|
|
392
|
+
this.ensureNotDestroyed();
|
|
393
|
+
const content = this.toString();
|
|
394
|
+
const result = await cryptoOperations.CryptoOperations.deriveKeyPBKDF2(content, options, format);
|
|
395
|
+
this.emit("hashed", {
|
|
396
|
+
type: "pbkdf2",
|
|
397
|
+
iterations: options.iterations,
|
|
398
|
+
format,
|
|
399
|
+
});
|
|
400
|
+
return result;
|
|
401
|
+
}
|
|
402
|
+
// ===== ADVANCED FEATURES =====
|
|
403
|
+
/**
|
|
404
|
+
* Performs comprehensive entropy analysis
|
|
405
|
+
*/
|
|
406
|
+
analyzeEntropy() {
|
|
407
|
+
this.ensureNotDestroyed();
|
|
408
|
+
const content = this.toString();
|
|
409
|
+
return entropyAnalyzer.EntropyAnalyzer.analyzeEntropy(content);
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Analyzes patterns in the string
|
|
413
|
+
*/
|
|
414
|
+
analyzePatterns() {
|
|
415
|
+
this.ensureNotDestroyed();
|
|
416
|
+
const content = this.toString();
|
|
417
|
+
return entropyAnalyzer.EntropyAnalyzer.analyzePatterns(content);
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
* Creates a quantum-safe hash
|
|
421
|
+
*/
|
|
422
|
+
async createQuantumSafeHash(options, format = "hex") {
|
|
423
|
+
this.ensureNotDestroyed();
|
|
424
|
+
const content = this.toString();
|
|
425
|
+
const result = await quantumSafe.QuantumSafeOperations.createQuantumSafeHash(content, options, format);
|
|
426
|
+
this.emit("hashed", {
|
|
427
|
+
type: "quantum-safe",
|
|
428
|
+
algorithm: options.algorithm,
|
|
429
|
+
format,
|
|
430
|
+
});
|
|
431
|
+
return result;
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Derives a quantum-safe key
|
|
435
|
+
*/
|
|
436
|
+
async deriveQuantumSafeKey(options, keyLength = 32, format = "hex") {
|
|
437
|
+
this.ensureNotDestroyed();
|
|
438
|
+
const content = this.toString();
|
|
439
|
+
const result = await quantumSafe.QuantumSafeOperations.deriveQuantumSafeKey(content, options, keyLength, format);
|
|
440
|
+
this.emit("hashed", {
|
|
441
|
+
type: "quantum-safe-kdf",
|
|
442
|
+
algorithm: options.algorithm,
|
|
443
|
+
format,
|
|
444
|
+
});
|
|
445
|
+
return result;
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Verifies a quantum-safe hash
|
|
449
|
+
*/
|
|
450
|
+
async verifyQuantumSafeHash(expectedHash, options, format = "hex") {
|
|
451
|
+
this.ensureNotDestroyed();
|
|
452
|
+
const content = this.toString();
|
|
453
|
+
return quantumSafe.QuantumSafeOperations.verifyQuantumSafeHash(content, expectedHash, options, format);
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Starts performance monitoring for this SecureString
|
|
457
|
+
*/
|
|
458
|
+
startPerformanceMonitoring() {
|
|
459
|
+
performanceMonitor.PerformanceMonitor.startMonitoring();
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* Stops performance monitoring
|
|
463
|
+
*/
|
|
464
|
+
stopPerformanceMonitoring() {
|
|
465
|
+
performanceMonitor.PerformanceMonitor.stopMonitoring();
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Gets performance statistics
|
|
469
|
+
*/
|
|
470
|
+
getPerformanceStats() {
|
|
471
|
+
return performanceMonitor.PerformanceMonitor.getStats();
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* Benchmarks a specific operation on this SecureString
|
|
475
|
+
*/
|
|
476
|
+
async benchmarkOperation(operation, operationName, iterations = 100) {
|
|
477
|
+
return performanceMonitor.PerformanceMonitor.benchmark(operation, operationName, iterations);
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* Measures an operation with automatic performance recording
|
|
481
|
+
*/
|
|
482
|
+
async measureOperation(operation, operationType) {
|
|
483
|
+
const operationSize = this.length();
|
|
484
|
+
return performanceMonitor.PerformanceMonitor.measure(operation, operationType, operationSize);
|
|
485
|
+
}
|
|
486
|
+
// ===== EVENT MANAGEMENT =====
|
|
487
|
+
/**
|
|
488
|
+
* Adds an event listener
|
|
489
|
+
*/
|
|
490
|
+
addEventListener(event, listener) {
|
|
491
|
+
if (!this.eventListeners.has(event)) {
|
|
492
|
+
this.eventListeners.set(event, new Set());
|
|
493
|
+
}
|
|
494
|
+
this.eventListeners.get(event).add(listener);
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* Removes an event listener
|
|
498
|
+
*/
|
|
499
|
+
removeEventListener(event, listener) {
|
|
500
|
+
const listeners = this.eventListeners.get(event);
|
|
501
|
+
if (listeners) {
|
|
502
|
+
listeners.delete(listener);
|
|
503
|
+
if (listeners.size === 0) {
|
|
504
|
+
this.eventListeners.delete(event);
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Removes all event listeners
|
|
510
|
+
*/
|
|
511
|
+
removeAllEventListeners(event) {
|
|
512
|
+
if (event) {
|
|
513
|
+
this.eventListeners.delete(event);
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
this.eventListeners.clear();
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
// ===== UTILITY METHODS =====
|
|
520
|
+
/**
|
|
521
|
+
* Gets memory usage information
|
|
522
|
+
*/
|
|
523
|
+
getMemoryUsage() {
|
|
524
|
+
this.ensureNotDestroyed();
|
|
525
|
+
return this.bufferManager.getMemoryUsage();
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* Gets the current options
|
|
529
|
+
*/
|
|
530
|
+
getOptions() {
|
|
531
|
+
this.ensureNotDestroyed();
|
|
532
|
+
return this.bufferManager.getOptions();
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Updates the options (may recreate buffer)
|
|
536
|
+
*/
|
|
537
|
+
updateOptions(newOptions) {
|
|
538
|
+
this.ensureNotDestroyed();
|
|
539
|
+
this.bufferManager.updateOptions(newOptions);
|
|
540
|
+
this.emit("modified", {
|
|
541
|
+
operation: "updateOptions",
|
|
542
|
+
options: newOptions,
|
|
543
|
+
});
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Creates a shallow copy of the SecureString
|
|
547
|
+
*/
|
|
548
|
+
clone() {
|
|
549
|
+
this.ensureNotDestroyed();
|
|
550
|
+
return SecureString.from(this);
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* Executes a function with the string value and optionally clears it afterward
|
|
554
|
+
*/
|
|
555
|
+
use(fn, autoClear = false) {
|
|
556
|
+
this.ensureNotDestroyed();
|
|
557
|
+
try {
|
|
558
|
+
const value = this.toString();
|
|
559
|
+
return fn(value);
|
|
560
|
+
}
|
|
561
|
+
finally {
|
|
562
|
+
if (autoClear) {
|
|
563
|
+
this.clear();
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
// ===== ENHANCED MEMORY MANAGEMENT METHODS =====
|
|
568
|
+
/**
|
|
569
|
+
* Initialize secure string pool for efficient memory reuse
|
|
570
|
+
*/
|
|
571
|
+
initializeSecureStringPool() {
|
|
572
|
+
if (!this.secureStringPool) {
|
|
573
|
+
try {
|
|
574
|
+
this.secureStringPool =
|
|
575
|
+
index.memoryManager.getPool("secure-string-pool") ||
|
|
576
|
+
index.memoryManager.createPool({
|
|
577
|
+
name: "secure-string-pool",
|
|
578
|
+
factory: () => new Uint8Array(256), // 256 byte buffers for strings
|
|
579
|
+
reset: (buffer) => {
|
|
580
|
+
// Secure wipe before reuse
|
|
581
|
+
this.secureWipe(buffer);
|
|
582
|
+
},
|
|
583
|
+
capacity: 30,
|
|
584
|
+
strategy: types.PoolStrategy.LRU,
|
|
585
|
+
validator: (buffer) => buffer instanceof Uint8Array,
|
|
586
|
+
});
|
|
587
|
+
}
|
|
588
|
+
catch (error) {
|
|
589
|
+
// Pool might already exist, try to get it
|
|
590
|
+
this.secureStringPool =
|
|
591
|
+
index.memoryManager.getPool("secure-string-pool");
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Handle memory pressure situations
|
|
597
|
+
*/
|
|
598
|
+
handleMemoryPressure() {
|
|
599
|
+
// Force cleanup of the buffer manager
|
|
600
|
+
try {
|
|
601
|
+
this.bufferManager.wipe(); // Use wipe() method instead of cleanup()
|
|
602
|
+
}
|
|
603
|
+
catch (error) {
|
|
604
|
+
// Buffer might already be destroyed
|
|
605
|
+
}
|
|
606
|
+
// Emit event for external handlers
|
|
607
|
+
this.emit("destroyed", {
|
|
608
|
+
reason: "memory_pressure_cleanup",
|
|
609
|
+
timestamp: Date.now(),
|
|
610
|
+
objectId: this._id,
|
|
611
|
+
});
|
|
612
|
+
}
|
|
613
|
+
/**
|
|
614
|
+
* Secure wipe of buffer memory
|
|
615
|
+
*/
|
|
616
|
+
secureWipe(buffer) {
|
|
617
|
+
if (!buffer || buffer.length === 0)
|
|
618
|
+
return;
|
|
619
|
+
// Multiple-pass secure wipe
|
|
620
|
+
const passes = [0x00, 0xff, 0xaa, 0x55, 0x00];
|
|
621
|
+
for (const pattern of passes) {
|
|
622
|
+
buffer.fill(pattern);
|
|
623
|
+
}
|
|
624
|
+
// Final random pass if crypto is available
|
|
625
|
+
if (typeof crypto !== "undefined" && crypto.getRandomValues) {
|
|
626
|
+
crypto.getRandomValues(buffer);
|
|
627
|
+
}
|
|
628
|
+
buffer.fill(0x00); // Final zero pass
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* Get enhanced memory usage statistics
|
|
632
|
+
*/
|
|
633
|
+
getEnhancedMemoryUsage() {
|
|
634
|
+
this.ensureNotDestroyed();
|
|
635
|
+
const basicUsage = this.getMemoryUsage();
|
|
636
|
+
const now = Date.now();
|
|
637
|
+
return {
|
|
638
|
+
...basicUsage,
|
|
639
|
+
formattedSize: index.MemoryUtils.formatBytes(basicUsage.bufferSize),
|
|
640
|
+
age: now - this._createdAt,
|
|
641
|
+
poolStats: this.secureStringPool?.getStats(),
|
|
642
|
+
};
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* Force garbage collection for this SecureString
|
|
646
|
+
*/
|
|
647
|
+
forceGarbageCollection() {
|
|
648
|
+
this.ensureNotDestroyed();
|
|
649
|
+
if (this._memoryTracking) {
|
|
650
|
+
const beforeUsage = this.getEnhancedMemoryUsage();
|
|
651
|
+
// Clean up buffer manager
|
|
652
|
+
try {
|
|
653
|
+
this.bufferManager.wipe(); // Use wipe() method instead of cleanup()
|
|
654
|
+
}
|
|
655
|
+
catch (error) {
|
|
656
|
+
// Buffer might already be cleaned
|
|
657
|
+
}
|
|
658
|
+
// Trigger global GC
|
|
659
|
+
const gcResult = index.memoryManager.forceGC();
|
|
660
|
+
const afterUsage = this.getEnhancedMemoryUsage();
|
|
661
|
+
const freedMemory = beforeUsage.bufferSize - afterUsage.bufferSize;
|
|
662
|
+
this.emit("destroyed", {
|
|
663
|
+
operation: "gc",
|
|
664
|
+
timestamp: Date.now(),
|
|
665
|
+
freedMemory,
|
|
666
|
+
gcDuration: gcResult.duration,
|
|
667
|
+
gcSuccess: gcResult.success,
|
|
668
|
+
beforeUsage: beforeUsage.formattedSize,
|
|
669
|
+
afterUsage: afterUsage.formattedSize,
|
|
670
|
+
});
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
/**
|
|
674
|
+
* Enable memory tracking for this SecureString
|
|
675
|
+
*/
|
|
676
|
+
enableMemoryTracking() {
|
|
677
|
+
this.ensureNotDestroyed();
|
|
678
|
+
if (!this._memoryTracking) {
|
|
679
|
+
this._memoryTracking = true;
|
|
680
|
+
index.memoryManager.registerObject(this, this._id);
|
|
681
|
+
}
|
|
682
|
+
return this;
|
|
683
|
+
}
|
|
684
|
+
/**
|
|
685
|
+
* Disable memory tracking for this SecureString
|
|
686
|
+
*/
|
|
687
|
+
disableMemoryTracking() {
|
|
688
|
+
this.ensureNotDestroyed();
|
|
689
|
+
if (this._memoryTracking) {
|
|
690
|
+
this._memoryTracking = false;
|
|
691
|
+
index.memoryManager.removeReference(this._id);
|
|
692
|
+
}
|
|
693
|
+
return this;
|
|
694
|
+
}
|
|
695
|
+
/**
|
|
696
|
+
* Clears the string by zeroing its contents and marks as destroyed
|
|
697
|
+
*/
|
|
698
|
+
clear() {
|
|
699
|
+
if (!this._isDestroyed) {
|
|
700
|
+
// Clean up memory tracking
|
|
701
|
+
if (this._memoryTracking) {
|
|
702
|
+
index.memoryManager.removeReference(this._id);
|
|
703
|
+
}
|
|
704
|
+
this.bufferManager.destroy();
|
|
705
|
+
this._isDestroyed = true;
|
|
706
|
+
this.emit("destroyed", { operation: "clear" });
|
|
707
|
+
this.eventListeners.clear();
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
/**
|
|
711
|
+
* Alias for clear() - destroys the SecureString
|
|
712
|
+
*/
|
|
713
|
+
destroy() {
|
|
714
|
+
this.clear();
|
|
715
|
+
}
|
|
716
|
+
/**
|
|
717
|
+
* Securely wipes the content without destroying the SecureString
|
|
718
|
+
*/
|
|
719
|
+
wipe() {
|
|
720
|
+
this.ensureNotDestroyed();
|
|
721
|
+
this.bufferManager.wipe();
|
|
722
|
+
this.emit("modified", { operation: "wipe" });
|
|
723
|
+
}
|
|
724
|
+
// ===== SERIALIZATION METHODS =====
|
|
725
|
+
/**
|
|
726
|
+
* Creates a JSON representation (warning: exposes the value)
|
|
727
|
+
*/
|
|
728
|
+
toJSON() {
|
|
729
|
+
this.ensureNotDestroyed();
|
|
730
|
+
return {
|
|
731
|
+
value: this.toString(),
|
|
732
|
+
length: this.length(),
|
|
733
|
+
byteLength: this.byteLength(),
|
|
734
|
+
};
|
|
735
|
+
}
|
|
736
|
+
/**
|
|
737
|
+
* Custom inspection for debugging (masks the actual value)
|
|
738
|
+
*/
|
|
739
|
+
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
740
|
+
if (this._isDestroyed) {
|
|
741
|
+
return "SecureString [DESTROYED]";
|
|
742
|
+
}
|
|
743
|
+
const memUsage = this.getMemoryUsage();
|
|
744
|
+
return `SecureString [${this.length()} chars, ${memUsage.bufferSize} bytes${memUsage.isEncrypted ? ", encrypted" : ""}]`;
|
|
745
|
+
}
|
|
746
|
+
// ===== STATIC UTILITY METHODS =====
|
|
747
|
+
/**
|
|
748
|
+
* Gets information about available algorithms
|
|
749
|
+
*/
|
|
750
|
+
static getAlgorithmInfo() {
|
|
751
|
+
return cryptoOperations.CryptoOperations.getAlgorithmInfo();
|
|
752
|
+
}
|
|
753
|
+
/**
|
|
754
|
+
* Lists all supported hash algorithms
|
|
755
|
+
*/
|
|
756
|
+
static getSupportedHashAlgorithms() {
|
|
757
|
+
return cryptoOperations.CryptoOperations.getSupportedHashAlgorithms();
|
|
758
|
+
}
|
|
759
|
+
/**
|
|
760
|
+
* Lists all supported HMAC algorithms
|
|
761
|
+
*/
|
|
762
|
+
static getSupportedHMACAlgorithms() {
|
|
763
|
+
return cryptoOperations.CryptoOperations.getSupportedHMACAlgorithms();
|
|
764
|
+
}
|
|
765
|
+
/**
|
|
766
|
+
* Generates a cryptographically secure salt
|
|
767
|
+
*/
|
|
768
|
+
static generateSalt(length = 32, format = "hex") {
|
|
769
|
+
if (format === "uint8array") {
|
|
770
|
+
return cryptoOperations.CryptoOperations.generateSalt(length);
|
|
771
|
+
}
|
|
772
|
+
else if (format === "base64") {
|
|
773
|
+
return cryptoOperations.CryptoOperations.generateSaltBase64(length);
|
|
774
|
+
}
|
|
775
|
+
else {
|
|
776
|
+
return cryptoOperations.CryptoOperations.generateSaltHex(length);
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
/**
|
|
780
|
+
* Performs constant-time hash comparison
|
|
781
|
+
*/
|
|
782
|
+
static constantTimeHashCompare(hash1, hash2) {
|
|
783
|
+
return cryptoOperations.CryptoOperations.constantTimeHashCompare(hash1, hash2);
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
exports.SecureString = SecureString;
|
|
788
|
+
//# sourceMappingURL=secure-string-core.js.map
|