Bitcoin Core  0.20.99
P2P Digital Currency
Functions
base58.h File Reference
#include <attributes.h>
#include <span.h>
#include <string>
#include <vector>
Include dependency graph for base58.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

std::string EncodeBase58 (Span< const unsigned char > input)
 Why base-58 instead of standard base-64 encoding? More...
 
NODISCARD bool DecodeBase58 (const std::string &str, std::vector< unsigned char > &vchRet, int max_ret_len)
 Decode a base58-encoded string (str) into a byte vector (vchRet). More...
 
std::string EncodeBase58Check (Span< const unsigned char > input)
 Encode a byte span into a base58-encoded string, including checksum. More...
 
NODISCARD bool DecodeBase58Check (const std::string &str, std::vector< unsigned char > &vchRet, int max_ret_len)
 Decode a base58-encoded string (str) that includes a checksum into a byte vector (vchRet), return true if decoding is successful. More...
 

Function Documentation

◆ DecodeBase58()

NODISCARD bool DecodeBase58 ( const std::string &  str,
std::vector< unsigned char > &  vchRet,
int  max_ret_len 
)

Decode a base58-encoded string (str) into a byte vector (vchRet).

return true if decoding is successful.

Definition at line 127 of file base58.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DecodeBase58Check()

NODISCARD bool DecodeBase58Check ( const std::string &  str,
std::vector< unsigned char > &  vchRet,
int  max_ret_len 
)

Decode a base58-encoded string (str) that includes a checksum into a byte vector (vchRet), return true if decoding is successful.

Definition at line 161 of file base58.cpp.

Here is the call graph for this function:

◆ EncodeBase58()

std::string EncodeBase58 ( Span< const unsigned char >  input)

Why base-58 instead of standard base-64 encoding?

  • Don't want 0OIl characters that look the same in some fonts and could be used to create visually identical looking data.
  • A string with non-alphanumeric characters is not as easily accepted as input.
  • E-mail usually won't line-break if there's no punctuation to break at.
  • Double-clicking selects the whole string as one word if it's all alphanumeric. Encode a byte span as a base58-encoded string

Definition at line 87 of file base58.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EncodeBase58Check()

std::string EncodeBase58Check ( Span< const unsigned char >  input)

Encode a byte span into a base58-encoded string, including checksum.

Definition at line 135 of file base58.cpp.

Here is the call graph for this function:
Here is the caller graph for this function: