UUID

BackEnd_Ash.log·2021년 9월 5일
2

ComputerScience

목록 보기
5/8

📌 UUID 란 ?

  • 네트워크 상에서 고유성이 보장되는 id 를 만들기 위한 표준 규약
  • Universally Unique Identified 의 약자로서 , 정보 식별을 위하여 사용되는 식별자이다.
  • UUID 는 128비트의 숫자이며 , 32자리의 16진수로 표현된다.
    • 여기에 8-4-4-4-12 글자마다 하이픈을 집어놓고 5개의 그룹으로 구분
    • ex ) 303d7a12-d50d-46f9-8f4f-ac007f28577b

📌 종류

UUID 버전은 1,3,4,5가 있다. 이중 가장 많이 쓰이는 버전은 1버전과 4버전이다.
1버전같은 경우 , 타임스탬프를 기준으로 생성된다.(호스트 ID , 시퀀스 번호 및 현재 시각으로 UUID 발급)
4버전은 랜덤 생성 (무작위 UUID 생성) 이라고 생각하면 된다.
주로 1버전 보다는 4버전을 많이 사용한다.

그이유는 1버전 같은 경우엔 호스트ID를 가지고 발급이 이루어 지기 때문에 어떻게 해서든 유출 가능성이 있어 랜덤생성으로 UUID를 발급받아 보안성을 높은것으로 추측이 된다.

📌 사용법

https://www.uuidgenerator.net/dev-corner/typescript

import {v4 as uuidv4} from 'uuid';

let myuuid = uuidv4();

console.out('Your UUID is: ' + myuuid);
// Your UUID is: 8a6e0804-2bd0-4672-b79d-d97027f9071a

📌 primary key UUID

이부분은 저의 생각입니다.

보통 primary key 를 id 로 해서 auto_increment 로 설정할 때가 많다.

https://stackoverflow.com/questions/29686346/databases-string-as-primary-key

아무래도 string 보다 id 로 primay key 많이하게 된다. 그이유는
👆 위 링크에 나와있다. ( 제 생각 )

하지만 primary keystring 할때가 있는데 그중에서 UUID 로 설정할때가 있다.

어떠한 전체 도메인에서 UUID 를 쓴다는것은 그만큼 전체 도메인 의 고유한 아이디가 될수 있어서 보안에 신경을 덜 쓰게 된다.

UUID 사용함으로써 보안에 신경을 덜 쓰게 되기때문에 UUID 로 식별하게 되는것 같다.

UUID 표준에 따라 이름을 부여하게 되면 uniqueness 를 완벽하게 보장할 수는 없지만 실제 사용상에서는 중복될 가능성이 거의 없다고 보기때문에 많이 사용하고있다.

UUID 갯수는 약 10의 38제곱 , 340간이다.
기존 int id 는 1부터 생성되는데 UUID 를 사용하게 된다면 id가 겹칠일이 거의 없다고 보면 된다.

profile
꾸준함이란 ... ?

0개의 댓글