logo

Java 생성 UUID

UUID 컴퓨터 시스템에서 널리 사용되는 128비트 길이의 고유 식별 번호입니다. 4개의 하이픈으로 구분된 16진수로 구성됩니다. 이 섹션에서는 다음 내용을 논의하겠습니다. UUID는 무엇입니까 그리고 Java에서 UUID(버전 4)를 무작위로 생성하는 방법 .

UUID

UUID 약자 보편적으로 고유한 식별자 . UUID는 OSF(Open Software Foundation)에 의해 표준화되었습니다. 이는 분산 컴퓨팅 환경(DCE)의 일부입니다. UUID는 36자(128비트) 길이의 고유 번호입니다. 그것은 또한 전역 고유 식별자(GUID).

파워셸과 배쉬
Java 생성 UUID

UUID의 사용은 상황, 사용 사례, 복잡성 및 조건에 따라 다릅니다. UUID의 용도는 다음과 같습니다.

  • 고유한 URN(Uniform Resource Names)을 생성하는 데 사용됩니다.
  • 거래 ID를 생성하는 데에도 사용할 수 있습니다.
  • 암호화 응용 프로그램에 널리 사용됩니다.
  • 웹 애플리케이션에서는 세션 ID를 생성하는 데 사용될 수 있습니다.

UUID의 유형

UUID에는 네 가지 유형이 있습니다.

  • 시간 기반 UUID(버전 1)
  • DCE 보안 UUID(버전 2)
  • 이름 기반 UUID(버전 3 및 5)
  • 무작위로 생성된 UUID(버전 4)

UUID의 변형

UUID에는 다양한 변형이 있지만 소금 침출 변형이 널리 사용됩니다. 변형 2의 레이아웃, 즉 소금 침출 다음과 같다:

MSB는 다음과 같은 서명되지 않은 필드로 구성됩니다.

0xFFFFFFFF00000000 시간_낮음

0x00000000FFFF0000 시간_중간

0x000000000000F000 버전

0x0000000000000FFF 시간_안녕

LSB는 다음과 같은 부호 없는 필드로 구성됩니다.

0xC000000000000000 변형

0x3FFF000000000000 clock_seq

0x0000FFFFFFFFFFFF 노드

변형 필드에는 UUID의 레이아웃을 식별하는 값이 들어 있습니다. 위에서 설명한 레이아웃은 변형 2에만 유효합니다.

문자열 대체 자바

자바 UUID 클래스

생성을 위해 UUID , Java 프로그래밍 언어는 UUID 클래스를 제공합니다. 클래스가 속한 java.util 패키지. Object 클래스를 확장하고 다음을 구현합니다. 직렬화 가능 그리고 유사한 상호 작용. 클래스는 128비트 값을 나타내는 변경할 수 없는 UUID를 생성합니다.

Java UUID 클래스 메소드

행동 양식 설명
시계순서() 이 지정된 UUID와 연관된 시계 시퀀스 값을 반환합니다.
비교 대상() 이 메서드는 UUID를 특정 UUID와 비교합니다.
같음() 메서드는 이 개체를 지정된 개체와 비교합니다.
문자열()에서 문자열 표현에서 UUID를 생성합니다.
getLeastSignificantBits() 이 UUID의 128비트 값 중 최하위 64비트를 반환합니다.
getMostSignificantBits() 이 UUID의 128비트 값 중 가장 중요한 64비트를 반환합니다.
해시 코드() 이 UUID에 대한 해시 코드를 반환합니다.
이름UUIDFromBytes() 지정된 바이트 배열을 기반으로 버전 3(이름 기반) UUID를 검색합니다.
마디() 지정된 UUID와 연결된 노드 값을 반환합니다.
무작위UUID() 무작위로 생성된 UUID를 반환합니다.
타임스탬프() 지정된 UUID와 연관된 타임스탬프 값을 반환합니다.
toString() 이 UUID를 나타내는 String 객체를 반환합니다.
변종() 지정된 UUID와 연관된 변형을 가져오는 데 사용됩니다.
버전() 지정된 UUID와 관련된 버전 번호를 얻을 수 있습니다.

UUID 생성

다음 예에서는 임의의 UUID를 생성합니다.

UUIDExample.java

 import java.util.UUID; public class UUIDExample { public static void main(String args[]) { //generates random UUID UUID uuid=UUID.randomUUID(); System.out.println(uuid); } } 

산출:

 2b733549-d2cc-40f0-b7f3-9bfa9f3c1b89 

문자열을 UUID로 변환

StringToUUIDExample.java

 import java.util.UUID; public class StringtoUUIDExample { public static void main(String args[]) { //randomly generates a UUID UUID uuid = UUID.randomUUID(); System.out.println('Randomly Generated UUID: '+uuid); //converts the randomly generated UUID into String String uuidAsString = uuid.toString(); System.out.println('UUID as String: '+uuidAsString); //generates a UUID from the String UUID sameUuid = UUID.fromString(uuidAsString); System.out.println('UUID from String: '+sameUuid); //compares UUID generated from the string with the randomly generated UUID System.out.println(sameUuid.equals(uuid)); } } 

산출:

 Randomly Generated UUID: fe8a03d7-6495-4231-9843-8ee2f5282620 UUID as String: fe8a03d7-6495-4231-9843-8ee2f5282620 UUID from String: fe8a03d7-6495-4231-9843-8ee2f5282620 true