GUID/UUID를 생성하는 방법은 무엇입니까?
P粉304704653
P粉304704653 2023-10-08 14:55:18
0
2
591

JavaScript에서 GUID(Globally Unique Identifier)를 만드는 방법은 무엇입니까? GUID/UUID는 길이가 32자 이상이어야 하며 전달 문제가 발생하지 않도록 ASCII 범위 내에 있어야 합니다.

모든 브라우저에서 어떤 루틴을 사용할 수 있는지, 내장 난수 생성기의 "무작위성"이 무엇인지, 어떻게 시드가 지정되는지 등을 잘 모르겠습니다.

P粉304704653
P粉304704653

모든 응답(2)
P粉352408038

[RFC4122 호환 UUID 생성을 위한 최신 모범 사례를 반영하기 위해 2023년 3월 5일에 편집됨]

crypto.randomUUID() is now standard on all modern browsers and JS runtimes. However, because new browser APIs are restricted to secure contexts, this method is only available to pages served locally (localhost or 127.0.0.1) 또는 HTTPS를 통해.

기존 플랫폼이나 비보안 컨텍스트에서 UUID를 생성하는 다른 UUID 버전에 관심이 있는 독자를 위해 모듈uuid이 있습니다. 이 모듈은 잘 테스트되고 지원됩니다.

위 방법이 실패할 경우 다음 방법도 있습니다(이 질문에 대한 원래 답변을 기반으로 함).

P粉190443691

RFC 4122에 따르면 UUID(Universally Unique Identifier)는 GUID(Globally Unique Identifier)라고도 알려져 있으며 특정 고유성을 보장하도록 설계된 식별자입니다.

몇 줄의 JavaScript로 RFC 호환 UUID를 구현하는 것이 가능하지만(예를 들어 아래 @broofa의 답변 참조) 몇 가지 일반적인 함정이 있습니다.

  • 잘못된 ID 형식(UUID는 "xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx" 형식이어야 합니다. 여기서 x는 [0-9, a-f] 중 하나입니다. M은 [1-5] 중 하나이고 N은 [8, 9, a , 또는 b]
  • 낮은 품질의 임의성 소스 사용(예: Math.random)

따라서 프로덕션 환경용 코드를 작성하는 개발자는 uuid 모듈과 같이 엄격하고 잘 관리되는 구현을 사용하는 것이 좋습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿