๋๊ตฌ ์ค๋ช
Base32 ์ Base58 ์ ๋ฐ์ดํธ๋ฅผ ๋์ผ๋ก ์ฝ๊ณ ์ฎ๊ฒจ ์ ๊ธฐ ์ฌ์ด ๋ฌธ์๋ก ๋ฐ๊พธ๋ ์ธ์ฝ๋ฉ์ ๋๋ค. ๋ณํ ๋ฐฉํฅ๊ณผ ์๋ณธ ํ์(ํ ์คํธ UTF-8 ๋๋ 16์ง์ ๋ฐ์ดํธ)์ ๊ณ ๋ฅธ ๋ค ๊ฐ์ ๋ถ์ฌ๋ฃ์ผ๋ฉด ๊ฒฐ๊ณผ๊ฐ ๋ฐ๋ก ๋์ต๋๋ค. ๋์ฝ๋ฉํ ๋๋ ๋ณต์๋ ๋ฐ์ดํธ๋ฅผ 16์ง์๋ก ๋ณด์ฌ ์ฃผ๊ณ , UTF-8 ๋ก ์ฝ์ ์ ์์ผ๋ฉด ํ ์คํธ๋ ํจ๊ป ๋ณด์ฌ ์ค๋๋ค.
Base32 ๋ RFC 4648 ์ํ๋ฒณ ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 ๊ณผ ํจ๋ฉ ๋ฌธ์ = ๋ฅผ, Base58 ์ ๋นํธ์ฝ์ธ ์ํ๋ฒณ 58์(์ซ์ 0 ๊ณผ ์๋ฌธ O, ๋๋ฌธ์ I, ์๋ฌธ์ l ์ ๋บ ์งํฉ)๋ฅผ ์๋๋ค. Base32 ๋ 5๋นํธ์ฉ ๋์ด 8์ ๋ธ๋ก์ ์ฑ์ฐ๋ฏ๋ก = ๊ฐ ์ต๋ 6๊ฐ ๋ถ์ต๋๋ค. Base58 ์ ์ ์ฒด๋ฅผ ํ๋์ ํฐ ์๋ก ๋ณด๊ณ 58์ง์๋ก ๋ฐ๊พธ๊ธฐ ๋๋ฌธ์ ์์ชฝ 0 ๋ฐ์ดํธ๊ฐ ์์ ๋จ์ง ์์, 0 ๋ฐ์ดํธ ํ๋๋ฅผ ๋ฌธ์ 1 ํ๋๋ก ๋ฐ๋ก ๋ณด์กดํฉ๋๋ค. 2026๋ 10์ ๊ธฐ์ค ๊ท๊ฒฉ์ ๋๋ค.
์ด ๋๊ตฌ๋ Base58Check ์ฒดํฌ์ฌ(๋ค 4๋ฐ์ดํธ)์ด๋ ๋นํธ์ฝ์ธ ์ฃผ์ ์ ํจ์ฑ ๊ฒ์ฆ์ ํ์ง ์๊ณ , Base64 ๋ณํ๊ณผ ์ํธํ, ํด์๋ ๋ค๋ฃจ์ง ์์ต๋๋ค. ๋ชจ๋ ๊ณ์ฐ์ ๋ธ๋ผ์ฐ์ ์์์๋ง ์ผ์ด๋๊ณ ์ ๋ ฅ๊ฐ์ ์๋ฒ๋ก ์ ์ก๋์ง ์์ง๋ง, ๊ฐ์ธํค์ฒ๋ผ ๋ ธ์ถ๋๋ฉด ์ ๋๋ ๊ฐ์ ๋ฃ์ง ๋ง์ธ์. ๊ฒฐ๊ณผ๋ ์ฐธ๊ณ ์ฉ์ด๋ฉฐ ์ค์ํ ์์ ์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ค์ ํ์ธํ์ธ์.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
RFC 4648 ์ 8์ ๋ธ๋ก์ ๋ง์ถ๋ ค๊ณ = ๋ฅผ ๋ถ์ ๋๋ค. ์ด ๋๊ตฌ๋ = ๊ฐ ์๋ ์ ๋ ฅ๋ ๋์ฝ๋ฉํ์ง๋ง, = ๋ฅผ ์๊ตฌํ๋ ๊ตฌํ๋ ์์ผ๋ ๋ฐ๋ ์ชฝ ๊ท๊ฒฉ์ ํ์ธํ์ธ์.
0 ๋ฐ์ดํธ ํ ๊ฐ๋ง๋ค ๋ฌธ์ 1 ํ๋๋ก ๋ฐ๋๋๋ค. 16์ง์ 0000287fb4cd ๋ 11233QC4 ๊ฐ ๋๊ณ , ์์ 1 ๋ ๊ฐ๊ฐ 0 ๋ฐ์ดํธ ๋ ๊ฐ๋ฅผ ๋ปํฉ๋๋ค. ์ด ์ฒ๋ฆฌ๋ฅผ ๋นผ๋ฉด ์๋ณต ๋ณํ์ด ๊นจ์ง๋๋ค.
Base58Check ์ฒดํฌ์ฌ ๊ฒ์ฌ์ ์ฃผ์ ํ์ ๊ฒ์ฆ์ ํ์ง ์์ต๋๋ค. ๋ฐ์ดํธ์ ๋ฌธ์์ด ์ฌ์ด์ ์ธ์ฝ๋ฉ, ๋์ฝ๋ฉ๋ง ์ํํฉ๋๋ค.