New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

crypg

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

crypg

Opaque identifier generation.

latest
Source
npmnpm
Version
0.0.6
Version published
Weekly downloads
4
-42.86%
Maintainers
1
Weekly downloads
 
Created
Source

Identifier

Opaque identifier generation.

Abstract

Randomly generating unique opaque identifiers is a common problem that this library proposes to solve with sane defaults for the local and global contexts.

Local identifiers

ID

Calculating the probability of collision in a set of n possible values is known as the birthday problem.

With a length of 20 characters picked at random from an alphabet of 62 symbols (a-zA-Z0-9), at a pace of 1,000,000 identifiers generated per second, it would take 4,000 years to reach a 1% collision probability (20 chars/62 symbols is the default this library settled for).

Global identifiers

UUID

A universally unique identifier (UUID) is 128-bits long and can guarantee uniqueness across space and time.

URN

A URN is a kind of Uniform Resource Identifier (URI).

UUIDs don't require a registration process to be unique, making them very low minting-cost Uniform Resource Names (URN) (other URN namespaces such as, for example, ISBN rely on a registration process).

The uuid URN Namespace Identifier has been described and registered following due process, hence urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 is the valid URN representation of UUID f81d4fae-7dec-11d0-a765-00a0c91e6bf6.

URL

A URL is a kind of Uniform Resource Identifier (URI) that, in addition to identifying a resource, provides a means of locating the resource by describing its primary access mechanism.

NamedNode

A NamedNode is the standard RDF/JS abstraction for RDF IRI nodes.

How to?

Generate a local identifier

import { id } from "crypg";

id();

Generate a UUID

import { uuid } from "crypg";

uuid();

Generate a URN

import { urn } from "crypg";

urn();

Generate a URL

import { url } from "crypg";

// Returns a URL with base https://example.org/
url();

// Returns a URL with base https://example.com/
url("https://example.com")

Generate a NamedNode

import { namednode } from "crypg";

// Returns a NamedNode with base URL https://example.org/ for its value
namednode("https://example.com");

// Returns a NamedNode that is a UUID URN
namednode();

FAQs

Package last updated on 24 Apr 2022

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