Base58 Encoder transforms a string so that it conforms to the Base58 Data Encodings specification.
Base58 is not for encryption purposes and is not secure. It is an encoding mechanism only.
Base58 is a collection of encoding and decoding techniques that convert data between binary (hexadecimal) and alphanumeric text formats (ASCII). Base58 allows for data compression, is simple to recognize, and can be used to build an anti-auto-monitoring encoding method for transmission systems. However, the absence of verification renders it incapable of identifying transmission errors. Therefore, Base58Check, a better technique, is needed.
Base58 encoded data is a string of character that contains only a-z, A-Z, 0-9, except the characters 0,O,I,l to avoid reading errors. The string contains text-printable characters.
alphanumeric = 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz base58 = 123456789ABCDEFGH JKLMN PQRSTUVWXYZabcdefghijk mnopqrstuvwxyz
Each numerical value found in a computer's memory is given a visual representation through an already-existing character in character encoding. We can map the value 100 to the capital letter A and a value higher than 100 to each letter that follows. Character encodings often maintain the sequence in which their readable values appear. It is possible that if A were 100, B would be 101, and so on, but it is not required. Typically, an encoding is cryptographic in nature when it cannot be decoded intuitively.
Base58 can encode any binary data! Since binary data, typically unreadable by humans, is the result of most cryptographic operations, an encoding strategy is required to convert the zeroes and ones into something that can be recorded or shared with others. As a result, every value we observe being exchanged, including Bitcoin addresses, transaction hashes, and Merkle Tree root hashes, is binary data encoded using Base58 or a system comparable to it.
The technique for Base58 encoding as follows:
Decoding then becomes:
The 58 digit long alphabet to use is equal to
Binary Coded Decimal is a type of binary encoding that uses 4 binary numbers to represent the 10 digits from 0 to 9 in a decimal number.
It was a joke, okay? If we thought it would actually be used, we wouldn’t have written it!Mark Andreesen