UUID / GUID

UUID (Universally Unique Identifier : 유일 무이한 식별 번호)

Open Software Foundation (OSF)에서 제정한 표준이다. 소프트웨어를 구현할 때에 사용하기 위한 목적이다.

몇 가지 정해진 알고리듬(각 프로그래밍 언어별로 UUID를 만들어 내는 라이브러리가 이미 있다.)에 의해서,

UUID를 만들어 낸다.

각 응용프로그램 내에서 만들어진 UUID는 유일무이하다고 가정하면 된다.

(엄격히 말하면, 중복이 되는 UUID가 생성 될 수도 있으나, 그 가능성은 대단히 희박하다.)

(예로, 데이터베이스에서 키값으로 UUID를 이용하면, 키값이 서로 중복될 염려가 없음)

 

UUID는 16-byte(128bit) 숫자이다. (32 hexadigit 숫자로 표시가 가능) 

따라서 최대로 생성이 가능한 UUID 숫자의 갯수는 2128 = 25616  또는  약 3.4 × 1038 이다.

 

이 숫자가 얼마나 큰 것이냐 하면,

100억년 동안, 매 1 nano second마다, 10^12 승 개의 UUID를 만들어 내면,

최대로 생성 가능한 UUID 갯수를 모두 만들어 낼 수 있다.

 

UUID의 표준적인(canonical) 표시 방법은, 아래와 같이 32개의 hexadigit과 4개의 하이픈(-)로 표시를 하는 것이다.

  4바이트-2바이트-2바이트-2바이트-6바이트 (예,550e8400-e29b-41d4-a716-446655440000 )

 

특정 응용 프로그램내에서 서로 다른 것들을 구별하기 위해서 UUID를 사용할 뿐만 아니라, 다음 처럼

서로 다른 응용 프로그램들이 특정 대상을 구별하기 위해서 UUID를 사용할 수도 있다.

예로, 마이크로소프트의 COM(Component Object Model)에서, 모든 컴포넌트들은 IUnknown interface를 구현해야 한다.

이 구현은, IUnknown을 나타내는 UUID를 생성함으로써 이루어진다.

IUnknown이 사용되는 모든 곳에서, 이것은 항상 00000000-0000-0000-C000-000000000046로 식별이 된다.

 

UUID를 생성하는 실제 구현 알고리즘은 다음과 같다.

version 1 (MAC address)  : UUID를 생성시키는 컴퓨터의 MAC 어드레스와 시간 정보를 가지고 UUID를 만들어 낸다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

                                       단점은, 어느 컴퓨터가 언제 UUID를 생성시켰는지의 정보가 남기 때문에, 보안에 문제가 있다.

version 3 (MD5 hash) : URL로 부터 MD5를 이용해서 만들어 내는 방법이다.

version 4 (Random)  : Random Number를 이용하는 방법이다.

version 5 (SHA-1 hash) : SHA-1 hashing을 이용하는 방법이다.

 

각 프로그래밍 언어들마다 UUID를 생성하는 라이브러리 함수들이 있다.

 

 

 

Globally Unique Identifier (GUID)

UUID 표준에 따라, Microsoft에서 구현한 것을 GUID라고 한다.  (발음은 "구이드" 라고 해야 한다. )

(그러나 마이크로소프트 이외의 많은 다른 회사들도, UUID 표준을 따라서 자체적으로 만들어 사용하는 독특한 식별 번호들을

 GUID라고 부른다. 예로, 오라클의 DataBase에서도 GUID를 사용한다.)

 

종종 GUID 숫자의 전후에 { } 기호를 붙여서 표시한다.    예로, {3F2504E0-4F89-11D3-9A0C-0305E82C3301}

또는 GUID를 Base64로 표시할 때는 (적은 글자수로 표시하고 싶을 때)

            128bit를 6비트씩 자르면, 21개의 글자 + 2bit 가 남는다.

            따라서 4비트를 더해서, 마지막 2bit를 6비트로 만들어 주어, 전체가 22글자가 되도록 해준다.

            따라서 GUID를 22글자로 표시할 수도 있고, 또는 추가로 ==을 붙여서 24글자로 표시를 할 수도 있다.

    예로, 7QDBkvCA1+B9K/U0vrQx1A

    또는  7QDBkvCA1+B9K/U0vrQx1A==

 

[출처] https://m.blog.naver.com/PostView.nhn?blogId=acc81tton&logNo=140039201568&proxyReferer=http%3A%2F%2Fwww.google.co.kr%2Furl%3Fsa%3Dt%26rct%3Dj%26q%3D%26esrc%3Ds%26source%3Dweb%26cd%3D3%26ved%3D0ahUKEwi_z93_ytnWAhVDtJQKHZG5Bw0QFgg2MAI%26url%3Dhttp%253A%252F%252Fm.blog.naver.com%252Facc81tton%252F140039201568%26usg%3DAOvVaw1EivDb72A4wYGeN0jGse67

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
1195 [ 一日30分 인생승리의 학습법] VBA Web Scraping: How Can VBA Be Used To Scrape Website Data? file 졸리운_곰 2024.04.13 3
1194 [ 一日30分 인생승리의 학습법] 윈도우 실행파일 구조(PE파일) file 졸리운_곰 2024.03.31 3
1193 [ 一日30分 인생승리의 학습법] [Analysis] PE(Portable Executable) 파일 포맷 공부 file 졸리운_곰 2024.03.31 3
1192 [ 一日30分 인생승리의 학습법] 성공하는 메타버스의 3가지 조건 file 졸리운_곰 2024.03.30 7
1191 [ 一日30分 인생승리의 학습법] REST, REST API, RESTful 과 HATEOAS file 졸리운_곰 2024.03.10 9
1190 [ 一日30分 인생승리의 학습법] 렌더링 삼형제 CSR, SSR, SSG 이해하기 file 졸리운_곰 2024.03.10 2
1189 [ 一日30分 인생승리의 학습법] 엑셀 VBA에서 셀레니움 사용을 위한 Selenium Basic 설치 file 졸리운_곰 2024.02.23 11
1188 [ 一日30分 인생승리의 학습법]500 Lines or Less Blockcode: A Visual Programming Toolkit : 500줄 이하의 블록코드: 시각적 프로그래밍 툴킷 졸리운_곰 2024.02.12 4
1187 [ 一日30分 인생승리의 학습법] 구글 클라이언트(앱) 아이디를 발급받으려면 어떻게 해야 하나요? 졸리운_곰 2024.01.28 3
1186 [ 一日30分 인생승리의 학습법] 빅뱅 프로젝트를 성공적으로 오픈하기 위한 팁 졸리운_곰 2023.12.27 16
1185 [ 一日30分 인생승리의 학습법]“빅뱅 전환보다 단계적 전환 방식이 이상적 애자일팀과 협업 쉽게 체질 개선을” file 졸리운_곰 2023.12.27 12
1184 [ 一日30分 인생승리의 학습법] Big-bang / phased 접근 file 졸리운_곰 2023.12.27 3
1183 [ 一日30分 인생승리의 학습법] CodeDragon 메뉴 데이터 전환의 개념 이해 - 데이터 전환의 개념, 데이터 전환방식, 데이터 전환방식 및 장단점 비교, 데이터전환 이후 검토해야 할 사항 졸리운_곰 2023.12.27 5
1182 [ 一日30分 인생승리의 학습법] 블록체인과 IPFS를 이용한 안전한 데이터 공유 플랫폼 - 분쟁 해결 시스템 file 졸리운_곰 2023.12.27 6
1181 [ 一日30分 인생승리의 학습법] 블록체인과 IPFS를 이용한 안전한 데이터 공유 플랫폼 - 개념과 리뷰 시스템 file 졸리운_곰 2023.12.27 4
1180 [ 一日30分 인생승리의 학습법] 소켓 CLOSE_WAIT 발생 현상 및 처리 방안 file 졸리운_곰 2023.12.03 7
1179 [ 一日30分 인생승리의 학습법] robots 설정하기 졸리운_곰 2023.12.03 3
1178 [ 一日30分 인생승리의 학습법] A Tutorial and Elementary Trajectory Model for the Differential Steering System of Robot Wheel Actuators : 로봇 휠 액츄에이터의 차동 조향 시스템에 대한 튜토리얼 및 기본 궤적 모델 file 졸리운_곰 2023.11.29 6
1177 [ 一日30分 인생승리의 학습법] Streamline Your MLOps Journey with CodeProject.AI Server : CodeProject.AI 서버로 MLOps 여정을 간소화하세요 file 졸리운_곰 2023.11.25 2
1176 [ 一日30分 인생승리의 학습법] Comparing Self-Hosted AI Servers: A Guide for Developers / : 자체 호스팅 AI 서버 비교: 개발자를 위한 가이드 file 졸리운_곰 2023.11.25 10
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED