FRONTEND/Javascript

[JS] UUID로 고유값 생성하기

숭코기 2023. 8. 16. 19:22
728x90

UUID 란?

UUID(Universally Unique IDentifier)란 네트워크 상에서 중복되지 않는 ID를 만들기 위한 표준 규약이다.

 

 

UUID의 충돌 확률

UUID는 중복되기 어려운 값들을 수 없이 길게 만듦으로써 단일 값을 보장한다.

UUID가 충돌할 확률은 2의 122승 분의 1이며 이에 대한 충돌은 거의 불가능에 가깝다.

 

 

UUID 구조

UUID는 16바이트(128비트) 형태의 구조를 가진다.

하나의 UUID 길이는 36자리이며 4개의 하이픈(-) 32개의 16진수 문자열로 구성 되어있다.

구조 길이(바이트/비트) 내용
Low Time 4 / 8 (8자리) 시간의 low 32비트를 부여하는 정수
Mid Time 2 / 4 (4자리) 시간의 middle 16비트를 부여하는 정수
Mid Time + version 2 / 4 (4자리) 최상위 비트에서 4비트 "version" 그리고 시간의 high 12비트
Clock sequence and variant 2 / 4 (4자리) 최상위 비트에서 1-3비트는 UUID의 레이아웃 형식. 13-15 비트 클럭 시퀀스
Node 6/ 12 (12자리) 48비트 노드 id

 

 

UUID 패턴의 예시

67b070ad-c641-42b5-82d4-0bddcf3a36cd

 

 

Javascript에서 UUID 사용하기

1. uuid 패키지 설치

npm install uuid

https://www.npmjs.com/package/uuid

 

uuid

RFC4122 (v1, v4, and v5) UUIDs. Latest version: 9.0.0, last published: a year ago. Start using uuid in your project by running `npm i uuid`. There are 55573 other projects in the npm registry using uuid.

www.npmjs.com

 

2. import 해주기

const { v4: uuidv4 } = require('uuid');

const uuid = uuidv4();
console.log(uuid);

uuid패키지의 uuidv4() 함수를 사용하면 UUID가 랜덤으로 생성된다.

 

 

 

728x90