New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

uuid-token-generator

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

uuid-token-generator

Generates random tokens with custom size and base-encoding using the RFC 4122 v4 UUID algorithm

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

UUID Token Generator

NPM Version Build Status Coverage Status Dependency Status devDependency Status

Provides a class that generates random tokens with custom size and base-encoding using the RFC 4122 v4 UUID algorithm. Generated tokens are strings that are guaranteed to always be the same length, depending on the bit-size specified for the token.

Great for generating things like API keys and compact UIDs.


WARNING


This package is no longer being maintained because a better one exists—uid-generator—which is better for the following reasons:

  • It has more flexible token generation options
    • i.e. You can specify the length of the token that you'd like to generate
  • It has both a synchronous and asynchronous interface
  • It is less likely to produce colliding tokens
  • It's more performant

Installation

npm install uuid-token-generator --save

Usage

const TokenGenerator = require('uuid-token-generator');

const tokgen = new TokenGenerator(); // Default is a 128-bit token encoded in base58
tokgen.generate();
// -> '4QhmRwHwwrgFqXULXNtx4d'

const tokgen2 = new TokenGenerator(256, TokenGenerator.BASE62);
tokgen2.generate();
// -> 'x6GCX3aq9hIT8gjhvO96ObYj0W5HBVTsj64eqCuVc5X'

API

new TokenGenerator([bitSize][, baseEncoding]) ⇒ Object

Creates a new TokenGenerator instance that generates bitSize-bit tokens encoded using the characters in baseEncoding.

ParamDefaultTypeDescription
[bitSize]128numberThe size of the token to generate in bits. Must be a multiple of 128.
[baseEncoding]TokenGenerator.BASE58stringOne of the TokenGenerator.BASE## constants or a custom string of characters to use to encode the token.

Example

new TokenGenerator();
new TokenGenerator(256);
new TokenGenerator(TokenGenerator.BASE36);
new TokenGenerator(512, TokenGenerator.BASE62);
new TokenGenerator('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/'); // Custom encoding (base64)

TokenGenerator.BASE16 : String

0123456789abcdef

TokenGenerator.BASE36 : String

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ

TokenGenerator.BASE58 : String

123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

TokenGenerator.BASE62 : String

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

TokenGenerator.BASE66 : String

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~

(all ASCII characters that do not need to be encoded in a URI as specified by RFC 3986)

TokenGenerator.BASE71 : String

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!'()*-._~

(all ASCII characters that are not encoded by encodeURIComponent())


tokgen.generate() ⇒ String

Generates a random token.

Returns: String - A random token that is always tokgen.tokenLength characters long.

Example

const tokgen = new TokenGenerator();
tokgen.generate();
// -> 'vf5NrETkUKCa6FhkyRSazD'

(readonly) tokgen.bitSize : Number

The size of the token that will be generated in bits (the bitSize value passed to the TokenGenerator constructor).

Example

new TokenGenerator().bitSize // -> 128
new TokenGenerator(256).bitSize // -> 256

(readonly) tokgen.baseEncoding : String

The set of characters used to encode the token (the baseEncoding value passed to the TokenGenerator constructor).

Example

new TokenGenerator().baseEncoding // -> '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
new TokenGenerator('abc').baseEncoding // -> 'abc'

(readonly) tokgen.base : Number

The base of the token that will be generated (which is the number of characters in the baseEncoding).

Example

new TokenGenerator().base // -> 58
new TokenGenerator(TokenGenerator.BASE62).base // -> 62
new TokenGenerator('abc').base // -> 3

(readonly) tokgen.tokenLength : Number

The length of the token that will be generated. The generated token will always be this length.
Calculated as such: tokenLength = Math.ceil(bitSize / Math.log2(base))

Example

new TokenGenerator().tokenLength // -> 22
new TokenGenerator(256, TokenGenerator.BASE62).tokenLength // -> 43

Keywords

FAQs

Package last updated on 18 Mar 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc