xypriss 2.3.1 → 2.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js +2 -25
- package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
- package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js +2 -25
- package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
- package/dist/cjs/mods/security/src/components/cache/index.js +15 -27
- package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -1
- package/dist/cjs/mods/security/src/components/fortified-function/index.js +1 -13
- package/dist/cjs/mods/security/src/components/fortified-function/index.js.map +1 -1
- package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js +2 -15
- package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
- package/dist/cjs/mods/security/src/core/crypt.js +56 -0
- package/dist/cjs/mods/security/src/core/crypt.js.map +1 -0
- package/dist/cjs/mods/security/src/core/crypto.js +1 -0
- package/dist/cjs/mods/security/src/core/crypto.js.map +1 -1
- package/dist/cjs/mods/security/src/core/hash/hash-core.js +34 -0
- package/dist/cjs/mods/security/src/core/hash/hash-core.js.map +1 -1
- package/dist/cjs/mods/security/src/core/password/password-utils.js +1 -1
- package/dist/cjs/mods/security/src/core/random/random-core.js +634 -0
- package/dist/cjs/mods/security/src/core/random/random-core.js.map +1 -1
- package/dist/cjs/mods/security/src/index.js +46 -55
- package/dist/cjs/mods/security/src/index.js.map +1 -1
- package/dist/cjs/mods/security/src/types/secure-mem.type.js +8 -2
- package/dist/cjs/mods/security/src/types/secure-mem.type.js.map +1 -1
- package/dist/cjs/src/cache/SecureCacheAdapter.js +20 -7
- package/dist/cjs/src/cache/SecureCacheAdapter.js.map +1 -1
- package/dist/cjs/src/middleware/security-middleware.js +69 -9
- package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
- package/dist/cjs/src/plugins/modules/index.js +5 -15
- package/dist/cjs/src/plugins/modules/index.js.map +1 -1
- package/dist/cjs/src/server/FastServer.js +3 -3
- package/dist/cjs/src/server/ServerFactory.js +5 -2
- package/dist/cjs/src/server/ServerFactory.js.map +1 -1
- package/dist/cjs/src/server/const/default.js +4 -4
- package/dist/cjs/src/server/const/default.js.map +1 -1
- package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +2 -25
- package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +2 -25
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
- package/dist/esm/mods/security/src/components/cache/index.js +15 -27
- package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
- package/dist/esm/mods/security/src/components/fortified-function/index.js +1 -13
- package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -1
- package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +2 -15
- package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
- package/dist/esm/mods/security/src/core/crypt.js +54 -0
- package/dist/esm/mods/security/src/core/crypt.js.map +1 -0
- package/dist/esm/mods/security/src/core/crypto.js +1 -0
- package/dist/esm/mods/security/src/core/crypto.js.map +1 -1
- package/dist/esm/mods/security/src/core/hash/hash-core.js +34 -0
- package/dist/esm/mods/security/src/core/hash/hash-core.js.map +1 -1
- package/dist/esm/mods/security/src/core/password/password-utils.js +1 -1
- package/dist/esm/mods/security/src/core/random/random-core.js +634 -0
- package/dist/esm/mods/security/src/core/random/random-core.js.map +1 -1
- package/dist/esm/mods/security/src/index.js +19 -30
- package/dist/esm/mods/security/src/index.js.map +1 -1
- package/dist/esm/mods/security/src/types/secure-mem.type.js +8 -2
- package/dist/esm/mods/security/src/types/secure-mem.type.js.map +1 -1
- package/dist/esm/src/cache/SecureCacheAdapter.js +20 -7
- package/dist/esm/src/cache/SecureCacheAdapter.js.map +1 -1
- package/dist/esm/src/middleware/security-middleware.js +69 -9
- package/dist/esm/src/middleware/security-middleware.js.map +1 -1
- package/dist/esm/src/plugins/modules/index.js +5 -15
- package/dist/esm/src/plugins/modules/index.js.map +1 -1
- package/dist/esm/src/server/FastServer.js +3 -3
- package/dist/esm/src/server/ServerFactory.js +5 -2
- package/dist/esm/src/server/ServerFactory.js.map +1 -1
- package/dist/esm/src/server/const/default.js +4 -4
- package/dist/esm/src/server/const/default.js.map +1 -1
- package/dist/index.d.ts +87 -3
- package/package.json +2 -2
|
@@ -6,6 +6,7 @@ var randomTypes = require('./random-types.js');
|
|
|
6
6
|
var randomSources = require('./random-sources.js');
|
|
7
7
|
var randomEntropy = require('./random-entropy.js');
|
|
8
8
|
var randomGenerators = require('./random-generators.js');
|
|
9
|
+
var randomTokens = require('./random-tokens.js');
|
|
9
10
|
var Uint8Array = require('../../helpers/Uint8Array.js');
|
|
10
11
|
var types = require('../../types.js');
|
|
11
12
|
|
|
@@ -322,6 +323,639 @@ class SecureRandom {
|
|
|
322
323
|
const instance = SecureRandom.getInstance();
|
|
323
324
|
instance.state.securityLevel = level;
|
|
324
325
|
}
|
|
326
|
+
// ============================================================================
|
|
327
|
+
// TOKEN GENERATION APIS
|
|
328
|
+
// ============================================================================
|
|
329
|
+
/**
|
|
330
|
+
* ### Generate Secure Password
|
|
331
|
+
*
|
|
332
|
+
* Creates a cryptographically secure password with enforced complexity requirements.
|
|
333
|
+
* Ensures the password contains at least one character from each required character set
|
|
334
|
+
* and shuffles the result to prevent predictable patterns.
|
|
335
|
+
*
|
|
336
|
+
* @param {number} [length=16] - Desired password length (minimum 8 characters)
|
|
337
|
+
* @param {import('./random-types').TokenGenerationOptions} [options] - Password generation options
|
|
338
|
+
* @param {boolean} [options.includeUppercase=true] - Include uppercase letters (A-Z)
|
|
339
|
+
* @param {boolean} [options.includeLowercase=true] - Include lowercase letters (a-z)
|
|
340
|
+
* @param {boolean} [options.includeNumbers=true] - Include numeric digits (0-9)
|
|
341
|
+
* @param {boolean} [options.includeSymbols=true] - Include special symbols (!@#$%^&*)
|
|
342
|
+
* @param {boolean} [options.excludeSimilarCharacters=true] - Exclude visually similar characters (0O1lI|)
|
|
343
|
+
* @param {import('./random-types').SecurityLevel} [options.entropyLevel='high'] - Security level for entropy
|
|
344
|
+
* @returns {string} A cryptographically secure password meeting all complexity requirements
|
|
345
|
+
*
|
|
346
|
+
* @example
|
|
347
|
+
* ```typescript
|
|
348
|
+
* // Generate a 16-character password with all character types
|
|
349
|
+
* const password = SecureRandom.generateSecurePassword(16);
|
|
350
|
+
* // Output: "Tr7$Kp9#mN2&vL4!"
|
|
351
|
+
*
|
|
352
|
+
* // Generate a simpler password without symbols
|
|
353
|
+
* const simple = SecureRandom.generateSecurePassword(12, {
|
|
354
|
+
* includeSymbols: false
|
|
355
|
+
* });
|
|
356
|
+
* ```
|
|
357
|
+
*
|
|
358
|
+
* @security This method uses cryptographically secure random generation
|
|
359
|
+
* @throws {Error} If password length is less than 8 characters
|
|
360
|
+
*/
|
|
361
|
+
static generateSecurePassword(...params) {
|
|
362
|
+
return randomTokens.RandomTokens.generateSecurePassword(...params);
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* ### Generate Session Token
|
|
366
|
+
*
|
|
367
|
+
* Creates a secure session token encoded in the specified format.
|
|
368
|
+
* Uses high-entropy random bytes for maximum security.
|
|
369
|
+
*
|
|
370
|
+
* @param {number} [length=32] - Token length in bytes before encoding
|
|
371
|
+
* @param {"hex"|"base64"|"base64url"} [encoding="base64url"] - Output encoding format
|
|
372
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
373
|
+
* @returns {string} Secure session token in the specified encoding
|
|
374
|
+
*
|
|
375
|
+
* @example
|
|
376
|
+
* ```typescript
|
|
377
|
+
* // Generate a base64url session token
|
|
378
|
+
* const token = SecureRandom.generateSessionToken(32, 'base64url');
|
|
379
|
+
*
|
|
380
|
+
* // Generate a hex token for database storage
|
|
381
|
+
* const hexToken = SecureRandom.generateSessionToken(32, 'hex');
|
|
382
|
+
* ```
|
|
383
|
+
*/
|
|
384
|
+
static generateSessionToken(...params) {
|
|
385
|
+
return randomTokens.RandomTokens.generateSessionToken(...params);
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* ### Generate API Key
|
|
389
|
+
*
|
|
390
|
+
* Creates a secure API key with optional prefix for easy identification.
|
|
391
|
+
* Uses a combination of random characters for maximum security.
|
|
392
|
+
*
|
|
393
|
+
* @param {number} [length=32] - Length of the random part of the API key
|
|
394
|
+
* @param {string} [prefix] - Optional prefix (e.g., "sk_", "pk_") followed by underscore
|
|
395
|
+
* @param {import('./random-types').TokenGenerationOptions} [options] - Generation options
|
|
396
|
+
* @returns {string} Secure API key with optional prefix
|
|
397
|
+
*
|
|
398
|
+
* @example
|
|
399
|
+
* ```typescript
|
|
400
|
+
* // Generate API key with prefix
|
|
401
|
+
* const key = SecureRandom.generateAPIKey(32, 'sk_live_');
|
|
402
|
+
* // Output: "**************************"
|
|
403
|
+
*
|
|
404
|
+
* // Generate API key without prefix
|
|
405
|
+
* const key = SecureRandom.generateAPIKey(24);
|
|
406
|
+
* ```
|
|
407
|
+
*/
|
|
408
|
+
static generateAPIKey(...params) {
|
|
409
|
+
return randomTokens.RandomTokens.generateAPIKey(...params);
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* ### Generate Secure PIN
|
|
413
|
+
*
|
|
414
|
+
* Creates a numeric PIN code for authentication purposes.
|
|
415
|
+
* Uses cryptographically secure random digits.
|
|
416
|
+
*
|
|
417
|
+
* @param {number} [length=6] - PIN length (minimum 4 digits)
|
|
418
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
419
|
+
* @returns {string} Numeric PIN as a string
|
|
420
|
+
*
|
|
421
|
+
* @example
|
|
422
|
+
* ```typescript
|
|
423
|
+
* // Generate a 6-digit PIN
|
|
424
|
+
* const pin = SecureRandom.generateSecurePIN(6);
|
|
425
|
+
* // Output: "482739"
|
|
426
|
+
*
|
|
427
|
+
* // Generate a longer PIN
|
|
428
|
+
* const longPin = SecureRandom.generateSecurePIN(8);
|
|
429
|
+
* ```
|
|
430
|
+
*
|
|
431
|
+
* @throws {Error} If PIN length is less than 4 digits
|
|
432
|
+
*/
|
|
433
|
+
static generateSecurePIN(...params) {
|
|
434
|
+
return randomTokens.RandomTokens.generateSecurePIN(...params);
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* ### Generate Secure OTP
|
|
438
|
+
*
|
|
439
|
+
* Creates a one-time password (OTP) for two-factor authentication.
|
|
440
|
+
* Uses alphanumeric characters with excluded similar-looking characters.
|
|
441
|
+
*
|
|
442
|
+
* @param {number} [length=6] - OTP length
|
|
443
|
+
* @param {import('./random-types').TokenGenerationOptions} [options] - Generation options
|
|
444
|
+
* @returns {string} Secure OTP string
|
|
445
|
+
*
|
|
446
|
+
* @example
|
|
447
|
+
* ```typescript
|
|
448
|
+
* // Generate a 6-character OTP
|
|
449
|
+
* const otp = SecureRandom.generateSecureOTP(6);
|
|
450
|
+
* // Output: "A8B3K9"
|
|
451
|
+
* ```
|
|
452
|
+
*/
|
|
453
|
+
static generateSecureOTP(...params) {
|
|
454
|
+
return randomTokens.RandomTokens.generateSecureOTP(...params);
|
|
455
|
+
}
|
|
456
|
+
/**
|
|
457
|
+
* ### Generate Recovery Codes
|
|
458
|
+
*
|
|
459
|
+
* Creates an array of recovery codes for account recovery purposes.
|
|
460
|
+
* Each code is cryptographically secure and suitable for backup authentication.
|
|
461
|
+
*
|
|
462
|
+
* @param {number} [count=10] - Number of recovery codes to generate (1-100)
|
|
463
|
+
* @param {number} [codeLength=8] - Length of each individual code
|
|
464
|
+
* @param {import('./random-types').TokenGenerationOptions} [options] - Generation options
|
|
465
|
+
* @returns {string[]} Array of recovery codes
|
|
466
|
+
*
|
|
467
|
+
* @example
|
|
468
|
+
* ```typescript
|
|
469
|
+
* // Generate 10 recovery codes
|
|
470
|
+
* const codes = SecureRandom.generateRecoveryCodes(10, 8);
|
|
471
|
+
* // Output: ["A1B2C3D4", "E5F6G7H8", "I9J0K1L2", ...]
|
|
472
|
+
* ```
|
|
473
|
+
*
|
|
474
|
+
* @throws {Error} If count is not between 1 and 100
|
|
475
|
+
*/
|
|
476
|
+
static generateRecoveryCodes(...params) {
|
|
477
|
+
return randomTokens.RandomTokens.generateRecoveryCodes(...params);
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* ### Validate Token Strength
|
|
481
|
+
*
|
|
482
|
+
* Analyzes a token/password for strength and provides detailed feedback.
|
|
483
|
+
* Evaluates length, character variety, entropy, and common patterns.
|
|
484
|
+
*
|
|
485
|
+
* @param {string} token - The token to analyze
|
|
486
|
+
* @returns {Object} Strength analysis results
|
|
487
|
+
* @returns {number} returns.score - Strength score (0-100)
|
|
488
|
+
* @returns {"weak"|"fair"|"good"|"strong"|"excellent"} returns.strength - Qualitative strength rating
|
|
489
|
+
* @returns {string[]} returns.issues - Array of improvement suggestions
|
|
490
|
+
*
|
|
491
|
+
* @example
|
|
492
|
+
* ```typescript
|
|
493
|
+
* const analysis = SecureRandom.validateTokenStrength("MySecureP@ss123");
|
|
494
|
+
* console.log(analysis);
|
|
495
|
+
* // Output: {
|
|
496
|
+
* // score: 85,
|
|
497
|
+
* // strength: "strong",
|
|
498
|
+
* // issues: ["Consider adding more special characters"]
|
|
499
|
+
* // }
|
|
500
|
+
* ```
|
|
501
|
+
*/
|
|
502
|
+
static validateTokenStrength(...params) {
|
|
503
|
+
return randomTokens.RandomTokens.validateTokenStrength(...params);
|
|
504
|
+
}
|
|
505
|
+
// ============================================================================
|
|
506
|
+
// ADVANCED GENERATION APIS
|
|
507
|
+
// ============================================================================
|
|
508
|
+
/**
|
|
509
|
+
* ### Generate Secure UUID Batch
|
|
510
|
+
*
|
|
511
|
+
* Efficiently generates multiple UUID v4 strings in a single operation.
|
|
512
|
+
* More performant than generating UUIDs individually when you need many.
|
|
513
|
+
*
|
|
514
|
+
* @param {number} count - Number of UUIDs to generate (1-1000)
|
|
515
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
516
|
+
* @returns {string[]} Array of RFC 4122 compliant UUID v4 strings
|
|
517
|
+
*
|
|
518
|
+
* @example
|
|
519
|
+
* ```typescript
|
|
520
|
+
* // Generate 100 UUIDs efficiently
|
|
521
|
+
* const uuids = SecureRandom.generateSecureUUIDBatch(100);
|
|
522
|
+
*
|
|
523
|
+
* // Generate UUIDs with quantum-safe entropy
|
|
524
|
+
* const secureUuids = SecureRandom.generateSecureUUIDBatch(50, {
|
|
525
|
+
* quantumSafe: true
|
|
526
|
+
* });
|
|
527
|
+
* ```
|
|
528
|
+
*
|
|
529
|
+
* @throws {Error} If count is not between 1 and 1000
|
|
530
|
+
* @performance Significantly faster than individual UUID generation for large batches
|
|
531
|
+
*/
|
|
532
|
+
static generateSecureUUIDBatch(...params) {
|
|
533
|
+
return randomGenerators.RandomGenerators.generateSecureUUIDBatch(...params);
|
|
534
|
+
}
|
|
535
|
+
/**
|
|
536
|
+
* ### Get Secure Random Choice
|
|
537
|
+
*
|
|
538
|
+
* Selects a random element from an array using cryptographically secure randomness.
|
|
539
|
+
* Provides uniform distribution across all array elements.
|
|
540
|
+
*
|
|
541
|
+
* @template T - The type of elements in the array
|
|
542
|
+
* @param {T[]} array - Array to select from (must not be empty)
|
|
543
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
544
|
+
* @returns {T} Randomly selected element from the array
|
|
545
|
+
*
|
|
546
|
+
* @example
|
|
547
|
+
* ```typescript
|
|
548
|
+
* const fruits = ['apple', 'banana', 'cherry', 'date'];
|
|
549
|
+
* const randomFruit = SecureRandom.getSecureRandomChoice(fruits);
|
|
550
|
+
* // Output: randomly one of: "apple", "banana", "cherry", or "date"
|
|
551
|
+
*
|
|
552
|
+
* // With custom options
|
|
553
|
+
* const choice = SecureRandom.getSecureRandomChoice(numbers, {
|
|
554
|
+
* quantumSafe: true
|
|
555
|
+
* });
|
|
556
|
+
* ```
|
|
557
|
+
*
|
|
558
|
+
* @throws {Error} If the array is empty
|
|
559
|
+
* @security Uses cryptographically secure random selection
|
|
560
|
+
*/
|
|
561
|
+
static getSecureRandomChoice(array, options) {
|
|
562
|
+
return randomGenerators.RandomGenerators.getSecureRandomChoice(array, options);
|
|
563
|
+
}
|
|
564
|
+
/**
|
|
565
|
+
* ### Secure Array Shuffle
|
|
566
|
+
*
|
|
567
|
+
* Shuffles an array using the Fisher-Yates algorithm with cryptographically secure randomness.
|
|
568
|
+
* Returns a new array, leaving the original unchanged.
|
|
569
|
+
*
|
|
570
|
+
* @template T - The type of elements in the array
|
|
571
|
+
* @param {T[]} array - Array to shuffle
|
|
572
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
573
|
+
* @returns {T[]} New shuffled array (original remains unchanged)
|
|
574
|
+
*
|
|
575
|
+
* @example
|
|
576
|
+
* ```typescript
|
|
577
|
+
* const deck = ['A♠', '2♠', '3♠', '4♠', '5♠'];
|
|
578
|
+
* const shuffled = SecureRandom.secureArrayShuffle(deck);
|
|
579
|
+
* // Output: ['3♠', 'A♠', '5♠', '2♠', '4♠'] (randomly shuffled)
|
|
580
|
+
*
|
|
581
|
+
* console.log(deck); // ['A♠', '2♠', '3♠', '4♠', '5♠'] (unchanged)
|
|
582
|
+
* ```
|
|
583
|
+
*
|
|
584
|
+
* @algorithm Uses Fisher-Yates shuffle with cryptographic randomness
|
|
585
|
+
* @security Provides uniform distribution and unpredictability
|
|
586
|
+
*/
|
|
587
|
+
static secureArrayShuffle(array, options) {
|
|
588
|
+
return randomGenerators.RandomGenerators.secureArrayShuffle(array, options);
|
|
589
|
+
}
|
|
590
|
+
/**
|
|
591
|
+
* ### Generate Nonce
|
|
592
|
+
*
|
|
593
|
+
* Creates a cryptographic nonce (number used once) for preventing replay attacks.
|
|
594
|
+
* Returns an EnhancedUint8Array for secure memory handling.
|
|
595
|
+
*
|
|
596
|
+
* @param {number} [length=12] - Nonce length in bytes
|
|
597
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
598
|
+
* @returns {import('../../helpers/Uint8Array').EnhancedUint8Array} Secure nonce bytes
|
|
599
|
+
*
|
|
600
|
+
* @example
|
|
601
|
+
* ```typescript
|
|
602
|
+
* // Generate a 12-byte nonce
|
|
603
|
+
* const nonce = SecureRandom.generateNonce(12);
|
|
604
|
+
*
|
|
605
|
+
* // Use in cryptographic operations
|
|
606
|
+
* const encrypted = cipher.encrypt(data, key, nonce);
|
|
607
|
+
* ```
|
|
608
|
+
*
|
|
609
|
+
* @security Nonce values are cryptographically secure and unique
|
|
610
|
+
* @memory Returns EnhancedUint8Array for automatic secure wiping
|
|
611
|
+
*/
|
|
612
|
+
static generateNonce(...params) {
|
|
613
|
+
return randomGenerators.RandomGenerators.generateNonce(...params);
|
|
614
|
+
}
|
|
615
|
+
// ============================================================================
|
|
616
|
+
// EXISTING ALIASES (LEGACY COMPATIBILITY)
|
|
617
|
+
// ============================================================================
|
|
618
|
+
/**
|
|
619
|
+
* ### Int (Alias)
|
|
620
|
+
*
|
|
621
|
+
* Short alias for {@link SecureRandom.getSecureRandomInt}
|
|
622
|
+
* Generates a cryptographically secure random integer within a specified range.
|
|
623
|
+
*
|
|
624
|
+
* @param {number} min - Minimum value (inclusive)
|
|
625
|
+
* @param {number} max - Maximum value (inclusive)
|
|
626
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
627
|
+
* @returns {number} Random integer between min and max
|
|
628
|
+
*
|
|
629
|
+
* @example
|
|
630
|
+
* ```typescript
|
|
631
|
+
* const diceRoll = SecureRandom.Int(1, 6);
|
|
632
|
+
* // Same as: SecureRandom.getSecureRandomInt(1, 6)
|
|
633
|
+
* ```
|
|
634
|
+
*
|
|
635
|
+
* @see {@link SecureRandom.getSecureRandomInt} for full documentation
|
|
636
|
+
*/
|
|
637
|
+
static Int(...params) {
|
|
638
|
+
return this.getSecureRandomInt(...params);
|
|
639
|
+
}
|
|
640
|
+
/**
|
|
641
|
+
* ### Float (Alias)
|
|
642
|
+
*
|
|
643
|
+
* Short alias for {@link SecureRandom.getSecureRandomFloat}
|
|
644
|
+
* Generates a cryptographically secure random float between 0 and 1.
|
|
645
|
+
*
|
|
646
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
647
|
+
* @returns {number} Random float between 0 and 1
|
|
648
|
+
*
|
|
649
|
+
* @example
|
|
650
|
+
* ```typescript
|
|
651
|
+
* const randomValue = SecureRandom.Float();
|
|
652
|
+
* // Same as: SecureRandom.getSecureRandomFloat()
|
|
653
|
+
* ```
|
|
654
|
+
*
|
|
655
|
+
* @see {@link SecureRandom.getSecureRandomFloat} for full documentation
|
|
656
|
+
*/
|
|
657
|
+
static Float(...params) {
|
|
658
|
+
return this.getSecureRandomFloat(...params);
|
|
659
|
+
}
|
|
660
|
+
/**
|
|
661
|
+
* ### Bool (Alias)
|
|
662
|
+
*
|
|
663
|
+
* Short alias for {@link SecureRandom.getSecureRandomBoolean}
|
|
664
|
+
* Generates a cryptographically secure random boolean value.
|
|
665
|
+
*
|
|
666
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
667
|
+
* @returns {boolean} Random boolean (true or false)
|
|
668
|
+
*
|
|
669
|
+
* @example
|
|
670
|
+
* ```typescript
|
|
671
|
+
* const coinFlip = SecureRandom.Bool();
|
|
672
|
+
* // Same as: SecureRandom.getSecureRandomBoolean()
|
|
673
|
+
* ```
|
|
674
|
+
*
|
|
675
|
+
* @see {@link SecureRandom.getSecureRandomBoolean} for full documentation
|
|
676
|
+
*/
|
|
677
|
+
static Bool(...params) {
|
|
678
|
+
return this.getSecureRandomBoolean(...params);
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* ### UUID (Alias)
|
|
682
|
+
*
|
|
683
|
+
* Short alias for {@link SecureRandom.generateSecureUUID}
|
|
684
|
+
* Generates a cryptographically secure RFC 4122 compliant UUID v4 string.
|
|
685
|
+
*
|
|
686
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
687
|
+
* @returns {string} RFC 4122 compliant UUID v4 string
|
|
688
|
+
*
|
|
689
|
+
* @example
|
|
690
|
+
* ```typescript
|
|
691
|
+
* const id = SecureRandom.UUID();
|
|
692
|
+
* // Same as: SecureRandom.generateSecureUUID()
|
|
693
|
+
* ```
|
|
694
|
+
*
|
|
695
|
+
* @see {@link SecureRandom.generateSecureUUID} for full documentation
|
|
696
|
+
*/
|
|
697
|
+
static UUID(...params) {
|
|
698
|
+
return this.generateSecureUUID(...params);
|
|
699
|
+
}
|
|
700
|
+
/**
|
|
701
|
+
* ### Bytes (Alias)
|
|
702
|
+
*
|
|
703
|
+
* Short alias for {@link SecureRandom.getRandomBytes}
|
|
704
|
+
* Generates cryptographically secure random bytes.
|
|
705
|
+
*
|
|
706
|
+
* @param {number} length - Number of bytes to generate
|
|
707
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
708
|
+
* @returns {Uint8Array} Array of random bytes
|
|
709
|
+
*
|
|
710
|
+
* @example
|
|
711
|
+
* ```typescript
|
|
712
|
+
* const key = SecureRandom.Bytes(32);
|
|
713
|
+
* // Same as: SecureRandom.getRandomBytes(32)
|
|
714
|
+
* ```
|
|
715
|
+
*
|
|
716
|
+
* @see {@link SecureRandom.getRandomBytes} for full documentation
|
|
717
|
+
*/
|
|
718
|
+
static Bytes(...params) {
|
|
719
|
+
return this.getRandomBytes(...params);
|
|
720
|
+
}
|
|
721
|
+
// ============================================================================
|
|
722
|
+
// SHORT ALIASES FOR CONVENIENCE
|
|
723
|
+
// ============================================================================
|
|
724
|
+
/**
|
|
725
|
+
* ### Password (Alias)
|
|
726
|
+
*
|
|
727
|
+
* Short alias for {@link SecureRandom.generateSecurePassword}
|
|
728
|
+
* Creates a cryptographically secure password with enforced complexity requirements.
|
|
729
|
+
*
|
|
730
|
+
* @param {number} [length=16] - Desired password length (minimum 8 characters)
|
|
731
|
+
* @param {import('./random-types').TokenGenerationOptions} [options] - Password generation options
|
|
732
|
+
* @returns {string} A cryptographically secure password
|
|
733
|
+
*
|
|
734
|
+
* @example
|
|
735
|
+
* ```typescript
|
|
736
|
+
* const password = SecureRandom.Password(16);
|
|
737
|
+
* // Same as: SecureRandom.generateSecurePassword(16)
|
|
738
|
+
* ```
|
|
739
|
+
*
|
|
740
|
+
* @see {@link SecureRandom.generateSecurePassword} for full documentation
|
|
741
|
+
*/
|
|
742
|
+
static Password(...params) {
|
|
743
|
+
return this.generateSecurePassword(...params);
|
|
744
|
+
}
|
|
745
|
+
/**
|
|
746
|
+
* ### SessionToken (Alias)
|
|
747
|
+
*
|
|
748
|
+
* Short alias for {@link SecureRandom.generateSessionToken}
|
|
749
|
+
* Creates a secure session token encoded in the specified format.
|
|
750
|
+
*
|
|
751
|
+
* @param {number} [length=32] - Token length in bytes before encoding
|
|
752
|
+
* @param {"hex"|"base64"|"base64url"} [encoding="base64url"] - Output encoding format
|
|
753
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
754
|
+
* @returns {string} Secure session token
|
|
755
|
+
*
|
|
756
|
+
* @example
|
|
757
|
+
* ```typescript
|
|
758
|
+
* const token = SecureRandom.SessionToken(32, 'base64url');
|
|
759
|
+
* // Same as: SecureRandom.generateSessionToken(32, 'base64url')
|
|
760
|
+
* ```
|
|
761
|
+
*
|
|
762
|
+
* @see {@link SecureRandom.generateSessionToken} for full documentation
|
|
763
|
+
*/
|
|
764
|
+
static SessionToken(...params) {
|
|
765
|
+
return this.generateSessionToken(...params);
|
|
766
|
+
}
|
|
767
|
+
/**
|
|
768
|
+
* ### APIKey (Alias)
|
|
769
|
+
*
|
|
770
|
+
* Short alias for {@link SecureRandom.generateAPIKey}
|
|
771
|
+
* Creates a secure API key with optional prefix for easy identification.
|
|
772
|
+
*
|
|
773
|
+
* @param {number} [length=32] - Length of the random part of the API key
|
|
774
|
+
* @param {string} [prefix] - Optional prefix (e.g., "sk_", "pk_")
|
|
775
|
+
* @param {import('./random-types').TokenGenerationOptions} [options] - Generation options
|
|
776
|
+
* @returns {string} Secure API key with optional prefix
|
|
777
|
+
*
|
|
778
|
+
* @example
|
|
779
|
+
* ```typescript
|
|
780
|
+
* const apiKey = SecureRandom.APIKey(32, 'sk_live_');
|
|
781
|
+
* // Same as: SecureRandom.generateAPIKey(32, 'sk_live_')
|
|
782
|
+
* ```
|
|
783
|
+
*
|
|
784
|
+
* @see {@link SecureRandom.generateAPIKey} for full documentation
|
|
785
|
+
*/
|
|
786
|
+
static APIKey(...params) {
|
|
787
|
+
return this.generateAPIKey(...params);
|
|
788
|
+
}
|
|
789
|
+
/**
|
|
790
|
+
* ### PIN (Alias)
|
|
791
|
+
*
|
|
792
|
+
* Short alias for {@link SecureRandom.generateSecurePIN}
|
|
793
|
+
* Creates a numeric PIN code for authentication purposes.
|
|
794
|
+
*
|
|
795
|
+
* @param {number} [length=6] - PIN length (minimum 4 digits)
|
|
796
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
797
|
+
* @returns {string} Numeric PIN as a string
|
|
798
|
+
*
|
|
799
|
+
* @example
|
|
800
|
+
* ```typescript
|
|
801
|
+
* const pin = SecureRandom.PIN(6);
|
|
802
|
+
* // Same as: SecureRandom.generateSecurePIN(6)
|
|
803
|
+
* ```
|
|
804
|
+
*
|
|
805
|
+
* @see {@link SecureRandom.generateSecurePIN} for full documentation
|
|
806
|
+
*/
|
|
807
|
+
static PIN(...params) {
|
|
808
|
+
return this.generateSecurePIN(...params);
|
|
809
|
+
}
|
|
810
|
+
/**
|
|
811
|
+
* ### OTP (Alias)
|
|
812
|
+
*
|
|
813
|
+
* Short alias for {@link SecureRandom.generateSecureOTP}
|
|
814
|
+
* Creates a one-time password (OTP) for two-factor authentication.
|
|
815
|
+
*
|
|
816
|
+
* @param {number} [length=6] - OTP length
|
|
817
|
+
* @param {import('./random-types').TokenGenerationOptions} [options] - Generation options
|
|
818
|
+
* @returns {string} Secure OTP string
|
|
819
|
+
*
|
|
820
|
+
* @example
|
|
821
|
+
* ```typescript
|
|
822
|
+
* const otp = SecureRandom.OTP(6);
|
|
823
|
+
* // Same as: SecureRandom.generateSecureOTP(6)
|
|
824
|
+
* ```
|
|
825
|
+
*
|
|
826
|
+
* @see {@link SecureRandom.generateSecureOTP} for full documentation
|
|
827
|
+
*/
|
|
828
|
+
static OTP(...params) {
|
|
829
|
+
return this.generateSecureOTP(...params);
|
|
830
|
+
}
|
|
831
|
+
/**
|
|
832
|
+
* ### RecoveryCodes (Alias)
|
|
833
|
+
*
|
|
834
|
+
* Short alias for {@link SecureRandom.generateRecoveryCodes}
|
|
835
|
+
* Creates an array of recovery codes for account recovery purposes.
|
|
836
|
+
*
|
|
837
|
+
* @param {number} [count=10] - Number of recovery codes to generate (1-100)
|
|
838
|
+
* @param {number} [codeLength=8] - Length of each individual code
|
|
839
|
+
* @param {import('./random-types').TokenGenerationOptions} [options] - Generation options
|
|
840
|
+
* @returns {string[]} Array of recovery codes
|
|
841
|
+
*
|
|
842
|
+
* @example
|
|
843
|
+
* ```typescript
|
|
844
|
+
* const codes = SecureRandom.RecoveryCodes(10, 8);
|
|
845
|
+
* // Same as: SecureRandom.generateRecoveryCodes(10, 8)
|
|
846
|
+
* ```
|
|
847
|
+
*
|
|
848
|
+
* @see {@link SecureRandom.generateRecoveryCodes} for full documentation
|
|
849
|
+
*/
|
|
850
|
+
static RecoveryCodes(...params) {
|
|
851
|
+
return this.generateRecoveryCodes(...params);
|
|
852
|
+
}
|
|
853
|
+
/**
|
|
854
|
+
* ### ValidateToken (Alias)
|
|
855
|
+
*
|
|
856
|
+
* Short alias for {@link SecureRandom.validateTokenStrength}
|
|
857
|
+
* Analyzes a token/password for strength and provides detailed feedback.
|
|
858
|
+
*
|
|
859
|
+
* @param {string} token - The token to analyze
|
|
860
|
+
* @returns {Object} Strength analysis results
|
|
861
|
+
*
|
|
862
|
+
* @example
|
|
863
|
+
* ```typescript
|
|
864
|
+
* const analysis = SecureRandom.ValidateToken("password123");
|
|
865
|
+
* // Same as: SecureRandom.validateTokenStrength("password123")
|
|
866
|
+
* ```
|
|
867
|
+
*
|
|
868
|
+
* @see {@link SecureRandom.validateTokenStrength} for full documentation
|
|
869
|
+
*/
|
|
870
|
+
static ValidateToken(...params) {
|
|
871
|
+
return this.validateTokenStrength(...params);
|
|
872
|
+
}
|
|
873
|
+
/**
|
|
874
|
+
* ### UUIDBatch (Alias)
|
|
875
|
+
*
|
|
876
|
+
* Short alias for {@link SecureRandom.generateSecureUUIDBatch}
|
|
877
|
+
* Efficiently generates multiple UUID v4 strings in a single operation.
|
|
878
|
+
*
|
|
879
|
+
* @param {number} count - Number of UUIDs to generate (1-1000)
|
|
880
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
881
|
+
* @returns {string[]} Array of RFC 4122 compliant UUID v4 strings
|
|
882
|
+
*
|
|
883
|
+
* @example
|
|
884
|
+
* ```typescript
|
|
885
|
+
* const uuids = SecureRandom.UUIDBatch(100);
|
|
886
|
+
* // Same as: SecureRandom.generateSecureUUIDBatch(100)
|
|
887
|
+
* ```
|
|
888
|
+
*
|
|
889
|
+
* @see {@link SecureRandom.generateSecureUUIDBatch} for full documentation
|
|
890
|
+
*/
|
|
891
|
+
static UUIDBatch(...params) {
|
|
892
|
+
return this.generateSecureUUIDBatch(...params);
|
|
893
|
+
}
|
|
894
|
+
/**
|
|
895
|
+
* ### Choice (Alias)
|
|
896
|
+
*
|
|
897
|
+
* Short alias for {@link SecureRandom.getSecureRandomChoice}
|
|
898
|
+
* Selects a random element from an array using cryptographically secure randomness.
|
|
899
|
+
*
|
|
900
|
+
* @template T - The type of elements in the array
|
|
901
|
+
* @param {T[]} array - Array to select from (must not be empty)
|
|
902
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
903
|
+
* @returns {T} Randomly selected element from the array
|
|
904
|
+
*
|
|
905
|
+
* @example
|
|
906
|
+
* ```typescript
|
|
907
|
+
* const winner = SecureRandom.Choice(['Alice', 'Bob', 'Charlie']);
|
|
908
|
+
* // Same as: SecureRandom.getSecureRandomChoice(['Alice', 'Bob', 'Charlie'])
|
|
909
|
+
* ```
|
|
910
|
+
*
|
|
911
|
+
* @see {@link SecureRandom.getSecureRandomChoice} for full documentation
|
|
912
|
+
*/
|
|
913
|
+
static Choice(...params) {
|
|
914
|
+
return this.getSecureRandomChoice(...params);
|
|
915
|
+
}
|
|
916
|
+
/**
|
|
917
|
+
* ### Shuffle (Alias)
|
|
918
|
+
*
|
|
919
|
+
* Short alias for {@link SecureRandom.secureArrayShuffle}
|
|
920
|
+
* Shuffles an array using the Fisher-Yates algorithm with cryptographically secure randomness.
|
|
921
|
+
*
|
|
922
|
+
* @template T - The type of elements in the array
|
|
923
|
+
* @param {T[]} array - Array to shuffle
|
|
924
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
925
|
+
* @returns {T[]} New shuffled array (original remains unchanged)
|
|
926
|
+
*
|
|
927
|
+
* @example
|
|
928
|
+
* ```typescript
|
|
929
|
+
* const shuffled = SecureRandom.Shuffle([1, 2, 3, 4, 5]);
|
|
930
|
+
* // Same as: SecureRandom.secureArrayShuffle([1, 2, 3, 4, 5])
|
|
931
|
+
* ```
|
|
932
|
+
*
|
|
933
|
+
* @see {@link SecureRandom.secureArrayShuffle} for full documentation
|
|
934
|
+
*/
|
|
935
|
+
static Shuffle(...params) {
|
|
936
|
+
return this.secureArrayShuffle(...params);
|
|
937
|
+
}
|
|
938
|
+
/**
|
|
939
|
+
* ### Nonce (Alias)
|
|
940
|
+
*
|
|
941
|
+
* Short alias for {@link SecureRandom.generateNonce}
|
|
942
|
+
* Creates a cryptographic nonce (number used once) for preventing replay attacks.
|
|
943
|
+
*
|
|
944
|
+
* @param {number} [length=12] - Nonce length in bytes
|
|
945
|
+
* @param {import('./random-types').RandomGenerationOptions} [options] - Generation options
|
|
946
|
+
* @returns {import('../../helpers/Uint8Array').EnhancedUint8Array} Secure nonce bytes
|
|
947
|
+
*
|
|
948
|
+
* @example
|
|
949
|
+
* ```typescript
|
|
950
|
+
* const nonce = SecureRandom.nonce(12);
|
|
951
|
+
* // Same as: SecureRandom.generateNonce(12)
|
|
952
|
+
* ```
|
|
953
|
+
*
|
|
954
|
+
* @see {@link SecureRandom.generateNonce} for full documentation
|
|
955
|
+
*/
|
|
956
|
+
static Nonce(...params) {
|
|
957
|
+
return this.generateNonce(...params);
|
|
958
|
+
}
|
|
325
959
|
}
|
|
326
960
|
|
|
327
961
|
exports.SecureRandom = SecureRandom;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random-core.js","sources":["../../../../../../../mods/security/src/core/random/random-core.ts"],"sourcesContent":[null],"names":["StatsTracker","SECURITY_CONSTANTS","RNGState","EntropyQuality","SecurityLevel","RandomEntropy","RandomGenerators","EnhancedUint8Array","RandomSources"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"random-core.js","sources":["../../../../../../../mods/security/src/core/random/random-core.ts"],"sourcesContent":[null],"names":["StatsTracker","SECURITY_CONSTANTS","RNGState","EntropyQuality","SecurityLevel","RandomEntropy","RandomGenerators","EnhancedUint8Array","RandomSources","RandomTokens"],"mappings":"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"}
|