[java] Java로 GUID 만들기

Java로 GUID를 만드는 가장 좋은 방법은 무엇입니까?



답변

Java 5 이상에 번들로 제공되는 UUID 클래스를 살펴보십시오 .

예를 들면 다음과 같습니다.

  • 임의의 UUID를 원하는 경우 randomUUID 메소드를 사용할 수 있습니다 .
  • UUID를 특정 값으로 초기화하려면 UUID 생성자 또는 fromString 메소드를 사용할 수 있습니다 .

답변

java.util.UUID.randomUUID();


답변

원하는 UUID 종류에 따라 다릅니다 .

  • 표준 Java UUID클래스는 버전 4 (임의) UUID를 생성 합니다. ( 업데이트버전 3 (이름) UUID도 생성 할 수 있습니다.) 다른 변형도 생성 할 수는 없지만 처리 할 수 ​​있습니다. (이 경우, “핸들”수단 구성체 UUID로부터 인스턴스 long, byte[]또는 String표현, 그리고 어떤 적절한 접근을 제공한다.)

  • 자바 UUID 생성기 (주전자) ‘에 의해 정의 된 UUID의 3’공식 ‘유형을 구현 취지는 지원 -4122 RFC 은 RFC 실제로 4 가지 유형을 정의하고 5 유형을 언급하지만 … “.

UUID 유형 및 변형에 대한 자세한 내용은 Wikipedia에 요약되어 있으며 세부 사항은 RFC 4122 및 기타 사양에 있습니다.


답변

Mark Byers의 답변을 예제로 확장하면됩니다.

import java.util.UUID;

public class RandomStringUUID {
    public static void main(String[] args) {
        UUID uuid = UUID.randomUUID();
        System.out.println("UUID=" + uuid.toString() );
    }
}


답변

다른 답변, 특히 올바른 이것 에 의해 스티븐 C .

Java 외부에 도달

Java 내 에서 UUID 값을 생성하는 것은 보안 문제로 인해 버전 4 (임의)로 제한됩니다 .

다른 버전의 UUID를 원하는 경우 다음 중 하나 를 호출 하여 Java 앱이 JVM 외부에 도달 하여 UUID를 생성하도록 할 수 있습니다.

  • 명령 줄 유틸리티
    거의 모든 운영 체제에 번들로 제공됩니다.
    예를 들어 uuidgenMac OS X, BSD 및 Linux에 있습니다.
  • 데이터베이스 서버 JDBC
    사용 하여 데이터베이스 서버에서 생성 된 UUID를 검색 하십시오 . 예를 들어, 확장 프로그램은 종종 Postgres 와 번들로 제공됩니다 . 이 확장은 버전 1, 3 및 4 값과 몇 가지 변형을 생성 할 수 있습니다.


    uuid-ossp

    • uuid_generate_v1mc() – 버전 1 UUID를 생성하지만 컴퓨터의 실제 MAC 주소 대신 임의의 멀티 캐스트 MAC 주소를 사용합니다.
    • uuid_generate_v5(namespace uuid, name text) – SHA-1이 해싱 방법으로 사용되는 것을 제외하고 버전 3 UUID와 같은 버전 5 UUID를 생성합니다.
  • 웹 서비스
    예를 들어 UUID Generator는 버전 1 및 3과 nil 값GUID를 작성 합니다.

답변