티스토리 뷰
🩵UUID
- 범용적으로 고유 식별자를 나타냅니다.
- UUID는 중복될 가능성이 극히 낮아서 전 세계에서 유니크하게 식별되는데 사용되며,
분산 시스템이나 세션 식별자, 쿠키 값, 대규모 데이터베이스에서 자주 활용됩니다.
- UUID는 128비트(16바이트)의 수로 표현되며, 16진수로 표현될 때 32개의 문자와 4개의 하이픈으로 이루어집니다.
1. 버전
버전 | 특징 | 설명 |
UUIDv1 | 시간 기반 | 시간과 노드 식별자를 사용하여 생성되며, 보통 1초 이상의 간격이 있을 때 중복이 발생하지 않습니다. 이 버전은 MAC 주소와 현재 시간을 기반으로 생성됩니다. |
UUIDv2 | DCE 보안 | 시간 기반(UUIDv1)의 확장이며, POSIX UID/GID를 추가한 것입니다. 거의 사용되지 않습니다. |
UUIDv3 | 이름 기반 - MD5 해시 | 명시적으로 지정된 이름과 네임스페이스 식별자를 MD5 해시 함수를 사용하여 생성합니다. |
UUIDv4 | 랜덤 | 완전히 무작위로 생성되며, 안전한 난수 생성기에 기반합니다. 이 버전은 랜덤성을 강조하고 중복될 가능성이 극히 낮습니다. |
UUIDv5 |
이름 기반 - SHA-1 해시 | UUIDv3와 유사하지만 SHA-1 해시 함수를 사용하여 생성됩니다. |
2. import java.util.UUID 메서드 종류
randomUUID() 메서드
- static UUID randomUUID(): 무작위 UUID를 생성합니다. 주로 UUIDv4를 생성하는 데 사용됩니다.
UUID randomUUID = UUID.randomUUID();
nameUUIDFromBytes(byte[] name) 메서드
- static UUID nameUUIDFromBytes(byte[] name):
주어진 바이트 배열을 기반으로 하는 이름 기반(UUIDv3 또는 UUIDv5)의 UUID를 생성합니다.
byte[] nameBytes = "example".getBytes();
UUID nameUUID = UUID.nameUUIDFromBytes(nameBytes);
toString() 메서드
- String toString(): UUID를 문자열로 반환합니다.
UUID uuid = UUID.randomUUID();
String uuidString = uuid.toString();
fromString(String name) 메서드
- static UUID fromString(String name): 주어진 문자열에서 UUID를 생성합니다.
String uuidString = "550e8400-e29b-41d4-a716-446655440000";
UUID uuid = UUID.fromString(uuidString);
getLeastSignificantBits() 및 getMostSignificantBits() 메서드
- long getLeastSignificantBits(): UUID의 가장 작은 부분을 반환합니다.
- long getMostSignificantBits(): UUID의 가장 큰 부분을 반환합니다.
UUID uuid = UUID.randomUUID();
long leastSignificantBits = uuid.getLeastSignificantBits();
long mostSignificantBits = uuid.getMostSignificantBits();
'JAVA' 카테고리의 다른 글
[JAVA 1.8] 컨트롤러 파일 다운로드 (0) | 2024.03.22 |
---|---|
Java 객체 (mapper.convertValue) (0) | 2023.10.26 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- vue라이프사이클
- 리눅스
- uuid
- computed
- 구글스프레드시트
- centos7
- 개발자면접질문
- PathVariable
- APP SCRIPT
- 스프링프레임워크
- ReflectionTestUtils
- 파일전송프로토콜
- invokeMethod
- How to generate an uuid in google sheet?
- 로컬에서서버
- nextTick
- springMVC #DTO #VO #DAO
- 프론트엔드 #
- 서버포트설정
- vue.js
- 파라미터받는법
- pcap저장
- SCP 명령어
- 와이어샤크문법
- 부트스트랩
- 패킷캡쳐하는법
- selectOption
- selectpicker
- 개발자질문
- 고유식별자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함