모바일 공부/Flutter
UUID
chogigang
2024. 3. 19. 21:54
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