본문 바로가기
모바일 공부/Flutter

UUID

by chogigang 2024. 3. 19.

UUID 

UUID(Universally Unique Identifier)는 고유한 식별자를 생성하기 위해 널리 사용되는 방법 중 하나입니다.

주로 세션 식별자, 쿠키 값, 무작위 데이터베이스 키 등에 사용이 됩니다.

 

UUID 구조

구조 길이(바이트/비트) 내용
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 버전들 

버전 설명 특징
UUID Version1 해당 버전은 “현재 시간”과 “랜덤한 MAC 주소”를 기반으로 생성 일성이 보장되지만 보안에 취약
UUID Version2 해당 버전은 이전 버전 1과 유사하지만 시퀀스 번호 대신 POSIX UID(사용자 ID)를 사용하여 생성 현재는 거의 사용하지 않음.
UUID Version3 해당 버전은 해시 함수인 “MD5 해시”를 기반으로 이름과 네임스페이스에 대한 조합으로 생성 암호화 해시 함수를 사용하여 생성하므로 보안성이 높음.
이름과 네임스페이스가 같으면 같은 UUID가 생성
UUID Version4 해당 버전은 “랜덤한 값”을 기반으로 생성 보안성이 높고 생성속도가 빠르다 주로사용 
UUID Version5 해당 버전은 이전 버전 3과 유사하지만 “SHA-1 해시”를 사용하여 생성  보안에 취약하다는 단점이 있다

 

 

flutter 에서 사용하기 위해선 터미널에 들어가셔서 해당 명령어를 처서 의존성을 추가하셔야합니다

 

With Flutter:

 $ flutter pub add uuid

 

 

https://pub.dev/packages/uuid/install

 

uuid install | Dart package

RFC4122 (v1, v4, v5, v6, v7, v8) UUID Generator and Parser for Dart

pub.dev