Base58 encoder en decoder
Invoer
Base58 is een codering van binaire gegevens naar tekst die enkele gemakkelijk te verwarren tekens vermijdt. Het Bitcoin-alfabet laat 0 O I l en + / weg; andere systemen zetten dezelfde 58 symbolen in een andere volgorde. Oudere Bitcoin-adressen met Base58Check en IPFS CIDv0-tekenreeksen zijn bekende voorbeelden. Deze tool werkt alleen in de browser, zet UTF-8-tekst of exacte hexadecimale bytes om met het Bitcoin-, Ripple- of Flickr-alfabet en weigert tekens buiten het gekozen alfabet.
Base58 encoderen en decoderen
-
1
Voer bytes of een Base58-string in
De coderingsrichting accepteert hexadecimaal of ruwe tekst; de decoderingsrichting accepteert Base58.
-
2
Kies het alfabet indien nodig
Standaard is Bitcoin's Base58; Ripple- en Flickr-varianten zijn beschikbaar voor compatibiliteit.
-
3
Voer de conversie uit
Base58 deelt niet netjes op in 5- of 6-bitgroepen; het wordt behandeld als één enkel big-endian geheel getal, herhaaldelijk gedeeld door 58.
-
4
Kopieer het resultaat
Gecodeerde strings behouden leidende nulbytes als leidende `1`-tekens (het teken voor nul in Bitcoin's alfabet).
Het Bitcoin Base58-alfabet
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
Let op wat ontbreekt: 0, O, I, l. Het eerste teken in het alfabet is 1, dat het integer 0 vertegenwoordigt.
Hoe het echt werkt
Anders dan Base64, dat bits in vaste groepen opdeelt, behandelt Base58 de hele byte-string als één enkel big-endian geheel getal N en schrijft die in basis 58:
result = []
while N > 0:
result.prepend(alphabet[N mod 58])
N = N / 58
for each leading zero byte in input:
result.prepend(alphabet[0]) # i.e. '1'
Daarom is Base58-codering niet eenvoudig te streamen, je hebt het hele getal nodig voordat je een teken kunt uitgeven.
Base58 versus Base58Check
De gebruikelijke Base58Check-payload van een ouder P2PKH-adres telt 25 bytes: 1 versiebyte, 20 hashbytes en 4 controlesombytes. De controlesom bestaat uit de eerste 4 bytes van de dubbele SHA-256-digest van versie en hash. Base58-codering van die volledige payload levert de bekende adresreeks op.
Deze tool zet alleen gewone Base58 om. Gebruik een speciale Base58Check-validator om de versie en controlesom van een adres te controleren.
Alfabetvarianten
| Variant | Waar gebruikt | Verschillen vs Bitcoin |
|---|---|---|
| Bitcoin | BTC-adressen, IPFS CIDv0 | Basis |
| Ripple | XRP-adressen | Verwisselde posities |
| Flickr | Korte foto-URL’s | Kleine letters vóór hoofdletters |
Waarom niet gewoon Base64 gebruiken?
Base64 heeft geen lengtevariatie tussen binaire en gecodeerde tekst (4 tekens per 3 bytes), wat efficiënt is. Base58 heeft iets variabele overhead maar geen dubbelzinnige tekens, precies wat je wilt wanneer iemand een adres met de hand moet kopiëren of via de telefoon moet voorlezen.
Veelgestelde vragen
Niet universeel. Base58 is beter wanneer mensen de string verwerken; Base64 is beter wanneer machines hem rondsturen. Base64 encodeert 6 bits per teken tegenover Base58’s ~5.86, dus Base64 is iets compacter.
Base58 encodeert een groot integer, dus de lengte varieert een of twee tekens afhankelijk van de high-order bits. Typische P2PKH-adressen zijn 34 tekens, maar 33 is mogelijk.
De tool kan de tekenreeks naar ruwe bytes decoderen. Kies hexadecimale uitvoer om willekeurige bytes zonder verlies weer te geven. Versie en controlesom worden niet gecontroleerd, dus een geslaagde decodering bewijst niet dat het adres geldig is. Gebruik daarvoor een Base58Check-validator.
Ja. Elke nulbyte aan het begin van de invoer wordt een 1-teken in de uitvoer, en zo werken Bitcoin-adressen die met 1 beginnen.
Gerelateerde tools
Versleutelingsidentifier
Plak een versleuteld tekstfragment of een hash en de identificator geeft waarschijnlijke algoritmen of coderingsmethoden aan: MD5, SHA, bcrypt, AES, RSA, Base64 en meer.
ETH naar USD-converter
Reken Ethereum (ETH) om naar Amerikaanse dollars met een live ETH/USD-koers of een door u gekozen koers. Bekijk wat elk ETH-bedrag in USD waard is.
Checksumverifier
Bereken de checksum (MD5, SHA-1, SHA-256, SHA-384, SHA-512 of CRC32) van willekeurige tekst en vergelijk die met een verwachte waarde voor een duidelijk oordeel over wel of geen overeenkomst.
Bestandshash-calculator
Bereken MD5-, SHA-1-, SHA-256- en SHA-512-hashes van geplakte tekst of bestandsinhoud om downloads en bestandsintegriteit te controleren.
Cipher-identificatie
Plak de cijfertekst en de identificatie suggereert waarschijnlijke coderings- en cijferschema's: Base64, hex, binair, morsecode, Caesar of substitutie, JWT en gangbare hashes.
CSR-generator
Genereer een PEM-gecodeerd Certificate Signing Request en de bijbehorende RSA-private key. Geef de common name, de organisatievelden en de sleutelgrootte (2048, 3072 of 4096 bits) op.
Tool beschikbaar in andere talen
- Base58-kodare och avkodare [SV]
- Base58-Encoder/Decoder [DE]
- Base58 인코더 및 디코더 [KO]
- Codificador y Decodificador Base58 [ES]
- Encoder dan Decoder Base58 [ID]
- Base58エンコーダー・デコーダー [JA]
- مشفر ومفكك Base58 [AR]
- ตัวเข้ารหัสและถอดรหัส Base58 [TH]
- Koder i dekoder Base58 [PL]
- Bộ mã hóa và giải mã Base58 [VI]
- Encodeur et décodeur Base58 [FR]
- Codificador e Decodificador Base58 [PT]
- Base58 编码器和解码器 [ZH]
- Base58 Encoder and Decoder [EN]
- Codificatore e Decodificatore Base58 [IT]
- Кодировщик и декодировщик Base58 [RU]
- Base58 Kodlayıcı ve Çözücü [TR]