DevGang
Авторизоваться

Генерация UUID в Node.js: 3 простых метода

UUID (универсальные уникальные идентификаторы) играют жизненно важную роль в современной разработке программного обеспечения. Создание уникальных идентификаторов является стандартной необходимостью для многих приложений Node.js: от управления сеансами до операций с базами данных, а также для отслеживания товаров, поддержки учетных записей пользователей и обеспечения безопасных транзакций, которые часто включены в программные приложения.

Цель этой статьи — дать полное представление о UUID, их важности в разработке Node.js, а также о нескольких методах и инструментах, доступных для безопасного и эффективного их создания.

Введение в UUID

UUID (универсальные уникальные идентификаторы) — это 128-битные числа, используемые для уникальной идентификации информации в распределенной вычислительной среде. Они спроектированы так, чтобы быть уникальными как в пространстве, так и во времени, а это означает, что даже если они генерируются разными системами в разные моменты времени, вероятность того, что два UUID будут одинаковыми, чрезвычайно мала.

Динамически генерируемая структура UUID:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

Здесь:

  • x представляет шестнадцатеричные цифры (0–9, AF). Эти шестнадцатеричные символы добавляют UUID уникальности и непредсказуемости.
  • M представляет версию UUID в диапазоне от 1 до 5.
  • N указывает вариант UUID. Варианты — это определенные битовые комбинации, которые определяют внутреннюю структуру и расположение UUID.

Благодаря стандартизированному стилю UUID, созданные с помощью Node.js, гарантированно соответствуют общепринятым практикам и легко понимаются различными приложениями и системами.

Важное значение UUID в Node.js:

  • Уникальность: предлагает способ создания идентификаторов, которые вряд ли будут конфликтовать с идентификаторами, созданными в других системах.
  • Масштабируемость: это позволяет этим приложениям плавно масштабироваться без риска конфликтов идентификаторов.
  • Глобальная доступность: он стандартизирован и широко признан на разных языках программирования и общепринят на многих платформах.
  • Безопасность: он предлагает способ создания уникальных идентификаторов, что делает их подходящими для приложений, чувствительных к безопасности, таких как токены сеанса.

Методы генерации UUID в Node.js

Ниже приведены несколько способов создания UUID в Node.js.

1. Пакет crypto

Этот метод был представлен в Node.js версии 15.5.0. Встроенный криптопакет предоставляет функцию randomUUID для создания UUID. Вот как вы можете его использовать.

Шаг 1: Импортировать пакет — импортируйте криптопакет. Нам не нужно его устанавливать.

const crypto = require('crypto');

Шаг 2: Вызовите метод randomUUID, чтобы сгенерировать уникальный идентификатор.

const uuid = crypto.randomUUID();
console.log(uuid);

Шаг 3: Чтобы запустить скрипт, мы выполним следующую команду.

node index.js

Вывод:

2. Пакет short-uuid

UUID, соответствующие RFC4122 v4, являются отправной точкой для NPM short-uuid, который преобразует их в другие, часто более короткие формы. Кроме того, он предлагает переводчики для преобразования UUID, соответствующих RFC, в более короткие формы.

Чтобы установить и настроить пакет NPM short-uuid в проекте Node.js, выполните следующие действия:

Шаг 1: Установите пакет — вы можете установить пакет short-uuid через NPM, выполнив следующую команду в своем терминале.

npm install short-uuid

Шаг 2: Импортируйте пакет — после установки вы можете начать с импорта модуля short-uuid в свой код Node.js с помощью функции require.

const short = require('short-uuid');

Шаг 3: Вот базовый пример создания коротких UUID с помощью пакета NPM short-uuid.

const short = require('short-uuid');
const translator = short();
 
const shortUUID = translator.new();
console.log(shortUUID);

Здесь мы импортируем модуль npm short-uuid, используя функцию require. Это позволяет нам использовать в нашем коде функциональность, предоставляемую пакетом short-uuid. Мы создаем новый экземпляр модуля short-uuid, вызывая функцию short(). Затем мы генерируем короткий UUID, вызывая метод new() в экземпляре транслятора. Этот метод генерирует новый короткий UUID, используя конфигурацию по умолчанию (длину и алфавит). Сгенерированный короткий UUID присваивается переменной shortUUID. Наконец, мы записываем сгенерированный короткий UUID в консоль, что позволяет нам увидеть результат генерации UUID.

Шаг 4: Чтобы запустить скрипт, выполните команду ниже.

node index.js

Вывод:

3. Пакет nanoid

nanoid — еще один пакет NPM, который можно использовать для создания UUID. Когда дело доходит до JavaScript, это более удобный, надежный и безопасный генератор строковых идентификаторов, чем другие меньшие пакеты.

Шаг 1: Установите пакет — вы можете установить пакет nanoid с помощью NPM.

npm i nanoid

Шаг 2: Импортируйте пакет — вы можете начать с импорта модуля nanoid в свой код Node.js.

const { nanoid } = require('nanoid');

Шаг 3: Вот базовый пример того, как генерировать UUID с помощью пакета npm nanoid.

const { nanoid } = require('nanoid');
 
// Generate a unique ID
const id = nanoid(); 
console.log(id);

Функция nanoid() генерирует уникальную строку идентификатора длиной по умолчанию в 21 символ. Этот идентификатор состоит из безопасных для URL-адресов символов (A-Za-z0-9_-) и устойчив к коллизиям.

Сначала мы импортируем функцию nanoid из пакета nanoid, используя деструктуризацию. Затем мы вызываем функцию nanoid(), которая генерирует случайный уникальный идентификатор. Сгенерированный идентификатор сохраняется в переменной id. Наконец, мы записываем сгенерированный идентификатор в консоль.

Мы также можем настроить длину сгенерированного идентификатора, передав число в качестве аргумента функции nanoid():

const customLengthId = nanoid(10); // Generate a unique ID of length 10
console.log(customLengthId);

Это создаст уникальный идентификатор длиной 10 символов. Аргумент длины должен находиться в диапазоне от 1 до 36 включительно.

Заключение

В заключение, мы можем создавать UUID с помощью Node.js, используя различные методы и библиотеки, включая пакет nanoid, short-uuid через NPM и встроенный модуль crypto. Node.js предоставляет ряд решений посредством встроенных модулей и пакетов NPM для быстрого и эффективного создания уникальных идентификаторов. Разработчики могут выбрать подход или пакет, который лучше всего соответствует их потребностям и предполагаемому использованию.

Источник:

#NodeJS
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу