Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/en/cryptography/base58.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ For details, see [Wikipedia](https://en.wikipedia.org/wiki/Base58).

Monero has its own variant of Base58.

In Monero the Base58 encoding is performed in 8-byte blocks, except the last block which is the remaining (8 or less) bytes .
In Monero the Base58 encoding is performed in 8-byte blocks, except the last block which is the remaining (8 or less) bytes.

The 8-byte block converts to 11 or less Base58 characters. If the block converted to less than 11 characters, the output is padded with "1"s (0 in Base58). The final block is padded as well to whatever would be the maximum size of this number of bytes encoded in Base58.

The advantage of Monero implementation is that output is of a fixed size which is not the case with plain Base58. The disadvantage is that default libraries won't work.

For details, see [reference C++ Base58](https://github.com/monero-project/monero/blob/master/src/common/base58.cpp) implementation and [unofficial Python Base58](https://github.com/bigreddmachine/MoneroPy/blob/master/moneropy/base58.py) implementation.
For details, see the [reference C++ Base58](https://github.com/monero-project/monero/blob/master/src/common/base58.cpp) implementation and the unofficial [Python](https://github.com/bigreddmachine/MoneroPy/blob/master/moneropy/base58.py) and [Rust](https://github.com/monero-oxide/monero-oxide/blob/main/monero-oxide/wallet/base58/src/lib.rs) implementations.