Sådan bruger du værktøjet
- Indsæt Base58-strengen i inputfeltet. Mellemrum og linjeskift ignoreres.
- Aflæs de afkodede bytes som hexadecimal i outputtet.
- Kopiér hexværdien, eller klik på Byt om på input og output for at omdanne hex tilbage til Base58.
Sådan bliver Base58 til hex
Base58 læser hele strengen som ét stort tal skrevet med Bitcoins alfabet på 58 tegn, som udelader 0, O, I og l. Ved konvertering til hex skrives det samme tal i base 16 med to hexcifre pr. byte, så intet tilføjes eller går tabt.
Nulbytes i begyndelsen af dataene har ingen talværdi, så Base58 registrerer hver af dem som et foranstillet 1, det første tegn i alfabetet. Dekoderen omdanner hvert foranstillet 1 tilbage til en 00-byte. For eksempel afkodes 115Q til 0000ff, og adressen for Solanas System Program, toogtredive 1-tegn i træk, afkodes til 32 nulbytes. Konverteringen kører lokalt i din browser.
Eksempler fra Bitcoin, Solana og IPFS
Der er tilføjet mellemrum i hexværdierne nedenfor for at vise de enkelte dele:
Bitcoin-adresse (P2PKH, genesisblokken)
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
00 62e907b15cbf27d5425399ebf6f0fb50ebb88f18 c29b7d93
version | hash160 (20 bytes) | kontrolsum (4 bytes)
Offentlig Solana-nøgle (SPL Token-programmet)
TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
06ddf6e1d765a193d9cbe146ceeb79ac1cb485ed5f5b37913a8cf5857eff00a9
32 bytes, ingen versionsbyte, ingen kontrolsum
IPFS CIDv0
QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG
12 20 9d6c2be50f706953479ab9df2ce3edca90b68053c00b3004b7f0accbe1e8eedf
sha2-256 | længde 32 | digest
Ældre Bitcoin-adresser (legacy) begynder med 1, fordi deres versionsbyte er 00. P2SH-adresser begynder med 3 og afkodes til version 05.
Base58Check-kontrolsummen bliver i dataene
Bitcoin-adresser og private WIF-nøgler bruger Base58Check: Fire kontrolsumbytes, taget fra en dobbelt SHA-256 af nyttedataene, tilføjes før kodningen. Denne side bruger almindelig Base58, så kontrolsummen afkodes som alle andre data og vises som de sidste 8 hexcifre. En ældre adresses hash160 er de 40 hexcifre mellem det foranstillede 00 og kontrolsummen.
Vil du bekræfte, at en adresse er intakt, og få nyttedataene uden kontrolsum, så afkod den på siden Base58Check. Solana-nøgler og IPFS-hashværdier har ingen kontrolsum, så almindelig Base58 er det rigtige valg til dem.
Base58 til hex i kode
# Python (installér med pip install base58)
import base58
base58.b58decode('115Q').hex() # '0000ff'
// JavaScript (installér med npm install bs58)
import bs58 from 'bs58';
Buffer.from(bs58.decode('115Q')).toString('hex'); // '0000ff'
Ofte stillede spørgsmål
Hvorfor afkodes en Bitcoin-adresse til 25 bytes i stedet for 20?
En ældre adresse indeholder en version på 1 byte, den offentlige nøgles hash160 på 20 bytes og en kontrolsum på 4 bytes. Almindelig Base58 returnerer alle tre dele, så du får 50 hexcifre. Hash160 er alt mellem den første byte og de sidste fire.
Hvorfor bliver hvert foranstillet 1 til 00?
I Base58 står tegnet 1 for værdien nul. Foranstillede nulbytes ville forsvinde, hvis dataene blev behandlet som et almindeligt tal, så hver af dem skrives som et 1 og afkodes tilbage til en 00-byte.
Hvorfor får jeg en fejl om et ugyldigt tegn?
Hvor lang er en offentlig Solana-nøgle?
Præcis 32 bytes eller 64 hexcifre. I Base58 er det som regel 43 eller 44 tegn. Nøgler, der begynder med nulbytes, kan være kortere, som adressen for System Program viser.