사용 방법
- 텍스트를 z-base-32로 바꾸려면 ‘인코딩’을, z-base-32를 텍스트로 되돌리려면 ‘디코딩’을 선택합니다.
- ‘변형’은 ‘z-base-32’로 그대로 두고, 이 형식은 패딩을 쓰지 않으므로 ‘패딩’이 꺼져 있는지 확인합니다.
- 내용을 입력하거나 붙여넣거나 파일을 엽니다. 결과는 입력하는 즉시 갱신됩니다.
- 결과를 복사하거나 파일로 다운로드합니다.
z-base-32란?
z-base-32는 Zooko Wilcox-O'Hearn이 사람이 읽고, 쓰고, 말하기 쉽도록 설계한 Base32 인코딩입니다. 동작 원리는 RFC 4648 Base32와 같습니다. 문자 하나가 5비트를 담고 5바이트가 8문자가 됩니다. 차이를 만드는 것은 알파벳입니다.
ybndrfg8ejkmcpqxot1uwisza345h769
모두 소문자이며, o, z, 1, u와 혼동하기 쉬운 0, 2, l, v를 뺐습니다. 문자의 순서도 재배열되어 있어서, 같은 바이트라도 z-base-32 출력은 표준 Base32와 전혀 다르게 보이며 RFC 4648 디코더로는 읽을 수 없습니다.
패딩은 없으며, 데이터 길이는 문자열 길이로부터 알 수 있습니다. 사양상 양쪽이 길이에 합의하면 바이트 단위로 떨어지지 않는 비트열도 인코딩할 수 있지만, 이 도구는 항상 바이트 단위로 처리합니다.
z-base-32가 사용되는 곳
- OpenPGP 웹 키 디렉터리(WKD). 키를 well-known URL에 게시할 때, 이메일 주소의 로컬 부분을 소문자로 바꾸고 SHA-1로 해시한 뒤 그 20바이트 해시를 z-base-32로 인코딩해 32자 파일 이름으로 만듭니다.
- ZRTP. 통화하는 두 사람이 중간자 공격을 알아차리기 위해 소리 내어 읽는 짧은 인증 문자열(SAS)은 z-base-32 알파벳을 쓰는 Base32로 표시할 수 있습니다(RFC 6189).
- 라이트닝 네트워크. lnd, Core Lightning 같은 노드 소프트웨어는 서명된 메시지를 z-base-32 문자열로 반환합니다.
다른 사람 친화적 형식으로는 숫자 순서를 유지하고 입력 실수를 너그럽게 처리하는 Crockford Base32, 더 짧지만 대소문자를 구분하는 Base58을 비교해 보십시오.
사양
| 알파벳 | ybndrfg8ejkmcpqxot1uwisza345h769 |
|---|---|
| 출력 크기 | 5바이트당 8문자(160%) |
| 패딩 | 없음 |
| 표준 | z-base-32(Zooko Wilcox-O'Hearn) |
| 대소문자 구분 | 아니요 |
예시
| 입력 (UTF-8) | 출력 |
|---|---|
Hello, World! | jb1sa5dxfoofq551pt1nn |
Base64.is | ejozg3jsgozg1ha |
你好 | h164b3pfzw |
자주 묻는 질문
z-base-32는 Base32와 같습니까?
아니요. RFC 4648 Base32와 같은 5비트 묶음을 쓰지만, 알파벳이 다르고 순서가 재배열되어 있으며 패딩이 없습니다. z-base-32 문자열은 z-base-32 디코더로 디코딩해야 합니다.
z-base-32는 대소문자를 구분합니까?
알파벳은 소문자이며 출력도 항상 소문자입니다. 이 디코더는 대문자 입력도 받아들이며, 디코딩하기 전에 소문자로 바꿉니다.
문자열 끝에 = 기호가 붙어 있으면 어떻게 됩니까?
z-base-32는 패딩을 쓰지 않지만, 문자열이 = 기호로 끝나더라도 디코더가 그냥 무시합니다.
WKD 해시는 어떻게 구합니까?
--with-wkd-hash 옵션으로도 WKD 해시를 바로 출력할 수 있습니다.