xypriss 2.3.1 → 2.3.2

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.
Files changed (66) hide show
  1. package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js +2 -25
  2. package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
  3. package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js +2 -25
  4. package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
  5. package/dist/cjs/mods/security/src/components/cache/index.js +15 -27
  6. package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -1
  7. package/dist/cjs/mods/security/src/components/fortified-function/index.js +1 -13
  8. package/dist/cjs/mods/security/src/components/fortified-function/index.js.map +1 -1
  9. package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js +2 -15
  10. package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
  11. package/dist/cjs/mods/security/src/core/crypt.js +56 -0
  12. package/dist/cjs/mods/security/src/core/crypt.js.map +1 -0
  13. package/dist/cjs/mods/security/src/core/crypto.js +1 -0
  14. package/dist/cjs/mods/security/src/core/crypto.js.map +1 -1
  15. package/dist/cjs/mods/security/src/core/hash/hash-core.js +34 -0
  16. package/dist/cjs/mods/security/src/core/hash/hash-core.js.map +1 -1
  17. package/dist/cjs/mods/security/src/core/password/password-utils.js +1 -1
  18. package/dist/cjs/mods/security/src/core/random/random-core.js +634 -0
  19. package/dist/cjs/mods/security/src/core/random/random-core.js.map +1 -1
  20. package/dist/cjs/mods/security/src/index.js +46 -55
  21. package/dist/cjs/mods/security/src/index.js.map +1 -1
  22. package/dist/cjs/mods/security/src/types/secure-mem.type.js +8 -2
  23. package/dist/cjs/mods/security/src/types/secure-mem.type.js.map +1 -1
  24. package/dist/cjs/src/cache/SecureCacheAdapter.js +20 -7
  25. package/dist/cjs/src/cache/SecureCacheAdapter.js.map +1 -1
  26. package/dist/cjs/src/middleware/security-middleware.js +69 -9
  27. package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
  28. package/dist/cjs/src/plugins/modules/index.js +5 -15
  29. package/dist/cjs/src/plugins/modules/index.js.map +1 -1
  30. package/dist/cjs/src/server/FastServer.js +3 -3
  31. package/dist/cjs/src/server/const/default.js +4 -4
  32. package/dist/cjs/src/server/const/default.js.map +1 -1
  33. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +2 -25
  34. package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
  35. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +2 -25
  36. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
  37. package/dist/esm/mods/security/src/components/cache/index.js +15 -27
  38. package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
  39. package/dist/esm/mods/security/src/components/fortified-function/index.js +1 -13
  40. package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -1
  41. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +2 -15
  42. package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
  43. package/dist/esm/mods/security/src/core/crypt.js +54 -0
  44. package/dist/esm/mods/security/src/core/crypt.js.map +1 -0
  45. package/dist/esm/mods/security/src/core/crypto.js +1 -0
  46. package/dist/esm/mods/security/src/core/crypto.js.map +1 -1
  47. package/dist/esm/mods/security/src/core/hash/hash-core.js +34 -0
  48. package/dist/esm/mods/security/src/core/hash/hash-core.js.map +1 -1
  49. package/dist/esm/mods/security/src/core/password/password-utils.js +1 -1
  50. package/dist/esm/mods/security/src/core/random/random-core.js +634 -0
  51. package/dist/esm/mods/security/src/core/random/random-core.js.map +1 -1
  52. package/dist/esm/mods/security/src/index.js +19 -30
  53. package/dist/esm/mods/security/src/index.js.map +1 -1
  54. package/dist/esm/mods/security/src/types/secure-mem.type.js +8 -2
  55. package/dist/esm/mods/security/src/types/secure-mem.type.js.map +1 -1
  56. package/dist/esm/src/cache/SecureCacheAdapter.js +20 -7
  57. package/dist/esm/src/cache/SecureCacheAdapter.js.map +1 -1
  58. package/dist/esm/src/middleware/security-middleware.js +69 -9
  59. package/dist/esm/src/middleware/security-middleware.js.map +1 -1
  60. package/dist/esm/src/plugins/modules/index.js +5 -15
  61. package/dist/esm/src/plugins/modules/index.js.map +1 -1
  62. package/dist/esm/src/server/FastServer.js +3 -3
  63. package/dist/esm/src/server/const/default.js +4 -4
  64. package/dist/esm/src/server/const/default.js.map +1 -1
  65. package/dist/index.d.ts +84 -2
  66. 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 apiKey = SecureRandom.generateAPIKey(32, 'sk_live_');
402
+ * // Output: "sk_live_a1B2c3D4e5F6g7H8i9J0k1L2m3N4o5P6"
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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"}