1.0.1 • Published 7 months ago

deca-random-data v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

šŸŽ² Deca Random Bytes

A comprehensive, cryptographically secure random byte and number generator with multiple encoding support. šŸ”šŸš€

✨ Features

  • 🧩 Generate random bytes in multiple encodings
  • šŸŽ³ Generate random integers in a specified range
  • šŸŒ Cross-environment support (Browser and Node.js)
  • šŸ“˜ TypeScript types included
  • šŸ›”ļø Cryptographically secure random generation

šŸ“¦ Installation

npm install deca-random-bytes

šŸ“‚ Project Structure

deca-random-bytes/
│
ā”œā”€ā”€ src/
│   └── index.ts         # Main source file
│
ā”œā”€ā”€ dist/                # Compiled JavaScript files
│   └── index.js
│   └── index.d.ts       # TypeScript declaration file
│
ā”œā”€ā”€ tests/
│   └── index.test.ts    # Unit tests
│
ā”œā”€ā”€ package.json         # Project configuration
ā”œā”€ā”€ tsconfig.json        # TypeScript configuration
└── README.md            # Project documentation

šŸš€ Usage

Random Byte Generation

import { decaRandomBytes } from 'deca-random-bytes';

// Generate 16 random bytes in hex (default)
const hexToken = decaRandomBytes(16);

// Generate in different encodings
const base64Token = decaRandomBytes(16, 'base64');
const utf8Token = decaRandomBytes(16, 'utf8');

Multiple Random Byte Generation

import { decaMultiRandomBytes } from 'deca-random-bytes';

const tokens = decaMultiRandomBytes({
  apiToken: { bytes: 16, encoding: 'hex' },
  userId: { bytes: 8, encoding: 'base64url' },
  sessionKey: { bytes: 32, encoding: 'base64' }
});

console.log(tokens.apiToken);     // Hex-encoded random bytes
console.log(tokens.userId);       // Base64URL-encoded random bytes
console.log(tokens.sessionKey);   // Base64-encoded random bytes

Random Integer Generation

import { decaRandomInt } from 'deca-random-bytes';

// Generate a random integer between 1 and 100 (inclusive)
const randomNumber = decaRandomInt(1, 100);
console.log(randomNumber);

🌈 Supported Encodings

  • hex: Hexadecimal encoding šŸ”¢
  • base64: Base64 encoding šŸ“ƒ
  • utf8: UTF-8 text encoding šŸ“
  • ascii: ASCII encoding šŸ’»
  • base64url: URL-safe Base64 encoding 🌐

šŸŒ Environment Support

Works in both browser and Node.js environments with cryptographically secure random number generation. šŸ–„ļø šŸ“±

šŸ“œ License

MIT License šŸ›ļø

šŸ¤ Contributing

Contributions, issues, and feature requests are welcome! Feel free to check issues page.

šŸ‘Øā€šŸ’» Author

Tom Tarpey