Base58 인코더·디코더
텍스트나 16진수를 Base58로 인코딩하거나 디코딩합니다. 비트코인, 플리커, 리플 알파벳을 지원하며 Base58Check로 4바이트 체크섬을 붙이거나 검증할 수 있습니다.
Base58은 바이너리 데이터를 58진수의 큰 수로 쓰는 방식입니다. 숫자와 글자를 쓰되 비슷하게 생긴 0, O, I, l과 기호 +, /는 뺍니다. 그래서 손으로 옮겨 적기 쉽고 URL에서도 안전하며, 비트코인 주소, IPFS 콘텐츠 ID, 솔라나 키가 이 방식을 사용합니다. 이 도구는 텍스트나 16진수 바이트를 인코딩하고 Base58을 디코딩하며, 비트코인에서 쓰는 Base58Check 체크섬을 붙이거나 검증할 수도 있습니다.
사용 방법
- 인코딩과 디코딩 중 하나를 고릅니다.
- 입력을 붙여 넣습니다. 키나 해시 같은 원시 바이트를 인코딩하려면 "입력 형식"을 16진수로 설정합니다.
- 알파벳을 고릅니다. 비트코인, IPFS, 솔라나에는 기본값인 비트코인 알파벳을 씁니다.
- 체크섬을 붙이려면 Base58Check를 선택하고, 주소를 디코딩하면서 검증하려는 경우에도 선택합니다.
계산식
value = Σ byteᵢ × 256^(n−1−i); 58로 반복해서 나누고 나머지(0–57)마다 알파벳 문자를 대응시킵니다. 맨 앞의 0x00 바이트 하나마다 맨 앞의 "1"이 하나 붙습니다.
Base58Check는 인코딩 전에 SHA-256(SHA-256(data))의 앞 4바이트를 덧붙입니다. 디코딩할 때 같은 해시를 다시 계산하며, 일치하지 않으면 데이터가 손상되었거나, 체크섬 규칙이 다르거나, 오타가 있는 것입니다. 임의의 오류가 통과할 확률은 약 43억 분의 1입니다.
예시
텍스트 "Hello World!"(12바이트)는 IETF Base58 초안에 공개된 테스트 벡터인 2NEpo7TZRRrLZSi2U로 인코딩됩니다. 비트코인 주소의 경우, 버전 바이트 00과 20바이트 키 해시 010966776006953D5567439E5E39F86A0D273BEE에 체크섬 d61967f6이 붙어 주소 16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM이 됩니다. 맨 앞의 1은 00 버전 바이트에서 나옵니다.
자주 묻는 질문
Base58과 Base64는 무엇이 다른가요?
Base64는 계산이 더 빠르고 약 2% 더 짧지만 +, /, =를 쓰고 비슷하게 생긴 문자가 섞여 있습니다. Base58은 이를 없애서 더블클릭으로 문자열 전체를 선택할 수 있고 옮겨 적을 때 실수가 줄어듭니다.
비트코인 주소가 유효한지 확인할 수 있나요?
Base58Check 체크섬이 일치한다는 것은 4바이트 체크섬만 확인한다는 뜻입니다. 소유권, 네트워크, 페이로드 길이, 그 값이 주소인지조차 증명하지 않습니다. bc1로 시작하는 Bech32 주소는 다른 인코딩을 씁니다.
출력이 1 여러 개로 시작하는 이유는 무엇인가요?
입력 맨 앞의 0 바이트는 하나마다 알파벳의 첫 문자(비트코인 알파벳에서는 "1")로 쓰입니다. 바이트를 하나의 수로 다룰 때 0이 사라지지 않게 하기 위해서입니다.
서버로 전송되는 것이 있나요?
없습니다. 인코딩, 디코딩, SHA-256 모두 브라우저에서 실행됩니다. 다만 직접 관리하지 않는 웹 페이지에는 절대 개인 키를 붙여 넣지 마세요.
출처
최종 업데이트:
이 입력값이 담긴 페이지 주소: https://kakao.mobile/ko/tools/base58-encoder/
인용·퍼가기
kakaoCalc. (2026, November 8). Base58 인코더·디코더. https://kakao.mobile/ko/tools/base58-encoder/
“Base58 인코더·디코더.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/base58-encoder/.