Base58Check encoding: Difference between revisions

Content added Content deleted
m (add ref link)
m (Fixed typos.)
Line 3: Line 3:
[[Category:Checksums]]
[[Category:Checksums]]


The popular enconding of small and medium-sized [[:Category:Checksums|checksums]] is [[wp:base16|base16]], that is more compact tham usual base10 and is human readable... For checksums resulting in ''hash digests'' bigger tham ~100 bits, the base16 is too long: [[wp:base58|base58]] is shorter and (when using good alphabet) preserves secure human readability. The most popular alphabet of base58 is the used in bitcoin address (see [[Bitcoin/address validation]]), so it is the "default base58 alphabet".
The popular encoding of small and medium-sized [[:Category:Checksums|checksums]] is [[wp:base16|base16]], that is more compact than usual base10 and is human readable... For checksums resulting in ''hash digests'' bigger than ~100 bits, the base16 is too long: [[wp:base58|base58]] is shorter and (when using good alphabet) preserves secure human readability. The most popular alphabet of base58 is the variant used in bitcoin address (see [[Bitcoin/address validation]]), so it is the "default base58 alphabet".


Write a program that takes a checksum (resultant hash digest) ''integer binary'' representation as argument, and converts (encode it) into base58 with the standard Bitcoin alphabet — which uses an alphabet of the characters 0 .. 9, A ..Z, a .. z, but without the four characters 0, O, I and l.
Write a program that takes a checksum (resultant hash digest) ''integer binary'' representation as argument, and converts (encode it) into base58 with the standard Bitcoin alphabet — which uses an alphabet of the characters 0 .. 9, A ..Z, a .. z, but without the four characters 0, O, I and l.