secret-key-generator
v1.0.3
Published
Generate cryptographically secure secret keys with configurable length, character set, and optional prefix.
Maintainers
Readme
secret-key-generator
Generate cryptographically secure secret keys (API keys, tokens) with configurable length, character set, and optional prefix. Uses Node.js crypto.randomInt. No dependencies.
Install
npm install secret-key-generatorUsage
Programmatic (package API)
The package exposes: KEY_LENGTH_BITS, CHAR_TYPE, generateSecretKey, generateSecretKeys.
import {
generateSecretKey,
generateSecretKeys,
KEY_LENGTH_BITS,
CHAR_TYPE,
} from 'secret-key-generator';
// Default: 256 bits, mixed letters & numbers
generateSecretKey();
// => "x7Kp2mN9..."
// With options
generateSecretKey({
bits: 512,
charType: CHAR_TYPE.ALPHANUMERIC_SYMBOLS,
prefix: 'sk_live_',
});
// Multiple keys
generateSecretKeys({ bits: 256, prefix: 'key_' }, 5);CLI (local only)
Run the script directly for local use (no global bin):
# From the package directory
node index.mjs
# With options
node index.mjs --bits 512 --type alphanumeric_symbols --prefix "sk_live_"
# Interactive: arrow-key lists
node index.mjs -i| Option | Description |
|--------|-------------|
| --bits | Entropy in bits: 128, 256, 512, 1024, 2048 (default: 256) |
| --type | Character set (see below) |
| --prefix | Optional prefix (e.g. sk_) |
| --count | Number of keys (default: 1) |
| --interactive, -i | Interactive: ↑/↓ to select length and character type |
Character types
| Preset | Description |
|--------|-------------|
| mixed_alphanumeric | A–Z, a–z, 0–9 (default) |
| alphanumeric_symbols | Letters, numbers, symbols |
| numbers_only | 0–9 |
| letters_only | A–Z, a–z |
| hex | 0–9, a–f |
| uppercase_alphanumeric | A–Z, 0–9 |
| lowercase_alphanumeric | a–z, 0–9 |
Requirements
- Node.js >= 18.0.0
