단축UUID b64uuid

(단축 UUID에서 넘어옴)

1 개요[ | ]

Short UUID, Base64 UUID (b64uuid)
단축 UUID, 베이스64 UUID, 짧은 UUID
  • UUID의 Base64 축약형
  • Base64기반 22자 UUID
  • UUID 문자열 36자[1]를 손실없이 Base64 기반의 문자열 22자로 축약한 것이다.
  • 공식 표준은 아니지만 사실상의 표준에 가깝다.
  • 흔히 쿼리스트링 파라미터로 사용하기 위해 +-, /_ 각각 치환하여 적용한다. (URL 안전)[2]

2 UUID → b64uuid 변환과정[ | ]

  1. 자리구분기호 -를 제거한다.
  2. 바이너리로 변환한다. ( hex2bin() )
  3. Base64 인코딩한다. ( base64_encode() )
  4. 맨뒤의 패딩문자 ==를 제거한다.
  5. +-로, /_로 변환한다.

3 예시[ | ]

UUID b64uuid
00000000-0000-0000-0000-000000000000 AAAAAAAAAAAAAAAAAAAAAA
ffffffff-ffff-ffff-ffff-ffffffffffff _____________________w[3]

4 같이 보기[ | ]

5 참고[ | ]

  1. 16진수 문자열 32자 + 중간중간에 들어가는 "-" 4자를 포함하여 총 36자
  2. http://tools.ietf.org/html/rfc4648#page-8
  3. 특이하게 마지막 자리가 _가 아니라 w이다.
    Base64 한자리는 6비트를 표현하는데( 64 = 26 ) 128비트를 표현하려면 128 / 6 = 21.333... 자리가 필요하다.
    자리수는 쪼갤 수 없으므로 올림하여 22자리를 사용하면 132비트( = 6비트 × 22자리 )를 표현가능하므로 4비트가 남는다.
    즉, 132비트 중 128비트(21.333...자리)로 UUID 정보를 표현하고, 여분 4비트(0.666...자리)는 0000으로 고정되는 것.
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}