Saltar al contenido

Cómo generar una identificación única con node.js

Solución:

Instale el paquete uuid de NPM (fuentes: https://github.com/kelektiv/node-uuid):

npm install uuid

y utilícelo en su código:

var uuid = require('uuid');

Luego crea algunos identificadores …

// Generate a v1 (time-based) id
uuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'

// Generate a v4 (random) id
uuid.v4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'

** ACTUALIZACIÓN 3.1.0

El uso anterior está en desuso, así que use este paquete así:

const uuidv1 = require('uuid/v1');
uuidv1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a' 

const uuidv4 = require('uuid/v4');
uuidv4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1' 

** ACTUALIZAR 7.x

Y ahora el uso anterior también está obsoleto, así que use este paquete así:

const { v1: uuidv1 } = require('uuid');
uuidv1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a' 

const { v4: uuidv4 } = require('uuid');
uuidv4(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a' 

La forma más rápida posible de crear una cadena aleatoria de 32 caracteres en Node es utilizando native crypto módulo:

const crypto = require("crypto");

const id = crypto.randomBytes(16).toString("hex");

console.log(id); // => f9b327e70bbcf42494ccb28b2d98e00e

edit: shortid ha quedado obsoleto. Los mantenedores recomiendan usar nanoid en su lugar.


Otro enfoque es usar el paquete shortid de npm.

Es muy fácil de usar:

var shortid = require('shortid');
console.log(shortid.generate()); // e.g. S1cudXAF

y tiene algunas características atractivas:

ShortId crea identificadores únicos increíblemente cortos y no secuenciales compatibles con URL. Perfecto para acortadores de URL, ID de MongoDB y Redis, y cualquier otra identificación que los usuarios puedan ver.

  • De forma predeterminada, de 7 a 14 caracteres aptos para URL: AZ, az, 0-9, _-
  • No secuenciales, por lo que no son predecibles.
  • Puede generar cualquier número de identificadores sin duplicados, incluso millones por día.
  • Las aplicaciones se pueden reiniciar cualquier cantidad de veces sin posibilidad de repetir una identificación.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *