HanBase256

복사할 땐 짧게. 필요할 땐 직접 입력.

Hexadecimal은 영문자와 숫자가 섞여 있어 입력하기 어렵습니다. 한국어로는 2와 e가 모두 ‘이(yi)’로 들립니다.

Base64/85는 짧지만 직접 입력하기 어렵습니다.
BIP39는 읽기 쉬운 단어를 쓰지만 너무 깁니다.

SHA-256: Hexadecimal 64자리 → 한글 32음절. 체크섬은 선택 사항.

온라인 변환기

텍스트 → SHA-256 → 표현 비교.

공백과 줄바꿈도 포함합니다. 텍스트는 UTF-8로 처리합니다.

같은 해시, 다른 표현.

Hexadecimal
d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
64글자 · 64바이트 · —단어
Base64
16j7swfXgJRpypq8sAguT41WUeRtPNt2LQLQvzfJ5ZI=
44글자 · 44바이트 · —단어
Base85
*Qoom2iJg<Y08?sum~<sjaE_QZ9Lm{EdtQLH_7Fa
40글자 · 40바이트 · —단어
HanBase256 spaced
키인환정 검키시열 산추외진 전결더물 어방민팔 색레태소 대감침참 등최퍼역
39글자 · 103바이트 · —단어
HanBase256 spaced+checksum
키인환정 검키시열 산추외진 전결더물 어방민팔 색레태소 대감침참 등최퍼역 +색
42글자 · 108바이트 · —단어
BIP39 영어
stumble elephant under autumn job enforce poet fashion royal leopard argue pair step cigar museum pole swarm ramp doll pause vibrant top north ethics
149글자 · 149바이트 · 24단어
BIP39 한국어
최선 반지 하숙집 골목 시골 밥상 이슬 복습 접시 실패 경영 원인 초등학생 논쟁 열차 이웃 친구 작업 무용 유산 해당 특성 오로지 번개
75글자 · 179바이트 · 24단어

공백과 구분자를 포함한 글자 수입니다. 바이트는 UTF-8 기준입니다. 체크섬은 선택 사항입니다.

비교용 글꼴: HangulIO Compare. 원본은 Adobe Source Han Mono K. 한글과 영문을 같은 폭으로 맞춰 글자 수를 비교하는 데 사용합니다. 글꼴 다운로드 (OTF + WOFF2) ↓ OFL 1.1

바이트 문자표

리비전 13 · 256 음절CSV ↓

한 바이트, 한 음절. 이 표로 직접 코드를 만들 수 있습니다.

Hexadecimal 행 + 열: F0 + 01 = F1.좌우로 스크롤하면 모든 열을 볼 수 있습니다.

HanBase256 golden byte mapping, revision 13.
HEX+00+01+02+03+04+05+06+07+08+09+0A+0B+0C+0D+0E+0F
00가갈감강개거건검결경고곡골곰공과
10관광교구국군굴권귀그극근금기길김
20나난남내너노농누니다단달당대더덕
30도돈돌동두드들등디라란러레력로론
40루리린마만말망매머면명모목무문물
50미민밀바반발방배백버번벌범변병보
60봄봉부북분불비빈사산살삼상색생서
70석선설섬성세소속손솔송수순술스승
80시식신실심아악안알암야약양어언엄
90에여역연열영오온와왕외요용우운울
A0원월위유육윤은이인일임자작장저적
B0전절점정제조종주준중지직진짐차참
C0창처천철청체초촌총최추축출충치친
D0침카칼커코쿠크키타탄탈태터토통투
E0트티파판팔퍼편평표푸풍피필하학한
F0항해행향허현형호혼홍화환황회후히

표준 라이브러리

표준 문자표와 체크섬을 따르는 Python과 JavaScript 라이브러리입니다.

코드 예제
hanbase256
import hashlib
import hanbase256

digest = hashlib.sha256(
    b"The quick brown fox jumps over the lazy dog"
).digest()
encoded = hanbase256.encode_with_checksum(digest)

# Recover the original hash.
assert hanbase256.decode_with_checksum(encoded) == digest
print(hanbase256.decode_with_checksum(encoded).hex())

FAQ

누구를 위한 도구인가요?

한글 사용자를 위한 표현입니다. 주로 복사·붙여넣기로 쓰고, 필요하면 직접 입력하세요.

왜 256음절인가요?

영어는 26글자입니다. 현대 한글은 11,172음절입니다. 그중 익숙한 256음절을 씁니다. 256 = 2⁸이므로 한 음절에 한 바이트를 담습니다. Unicode ↗

Hexadecimal이나 Base64/85와 어떻게 다른가요?

Base64/85는 짧은 표현에 초점을 둡니다. HanBase256은 한글 사용자에게 길이와 입력 편의성의 균형을 제공합니다. 한 음절에 한 바이트를 담습니다. Base16 / Base64 ↗

BIP39와 어떻게 다른가요?

BIP39는 256비트를 24단어로 씁니다. HanBase256은 32음절을 쓰고, 체크섬은 선택할 수 있습니다. BIP39 ↗

변환기는 무엇을 하나요?

인코더는 텍스트의 해시를 여러 형식으로 비교합니다. 디코더는 원문이 아닌 SHA-256 해시를 복원합니다.

암호화나 압축인가요?

둘 다 아닙니다. 해시를 쓰는 방식만 바꿉니다. 32음절은 UTF-8로 96바이트입니다. 체크섬은 별도입니다. Base64도 압축은 아닙니다.

+체크섬은 무엇인가요?

추가한 한 글자로 오류를 찾습니다. 체크섬 없이 32음절만 디코딩해도 됩니다. 체크섬이 있으면 검증합니다. 틀리면 오류를 표시합니다.