Encoder et decoder Base58

Le texte brut est d'abord converti en octets UTF-8, puis encodé en Base58 ou Base58Check.

0 caractères en entrée

Encodez et decodez Base58 ou Base58Check dans le navigateur, avec prise en charge du texte, des fichiers, des alphabets personnalises et de la sortie hexadecimale.

Recommandations connexes

Que sont Base58 et Base58Check ?

Base58 est un encodage de texte destiné à la lecture humaine et au copier-coller. Il supprimera les caractères facilement mal lus tels que 0, O, I et l, il est donc souvent utilisé dans des scénarios tels que des logos courts, des codes d'invitation, des adresses de portefeuille et des codes de partage hors ligne.

La table de caractères standard Bitcoin Base58 est `123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`. Cette page prend en charge à la fois la version Flickr de l'alphabet et votre propre alphabet défini de 58 caractères.

Base58Check est une solution qui ajoute une somme de contrôle de 4 octets après les octets d'origine, puis la code dans son ensemble Base58. Il est souvent utilisé pour les anciennes adresses Bitcoin, les exportations de clés privées WIF, les codes d'invitation ou les chaînes qui doivent être transcrites manuellement. Le but est de détecter plus tôt les fautes de frappe, les mots manquants ou en désordre.

Si vous obtenez une charge utile binaire, une charge utile d'adresse ou un fragment de hachage, le contenu décodé n'est pas nécessairement du texte lisible. À l'heure actuelle, il est plus approprié de passer à l'affichage hexadécimal, plutôt que de considérer à tort les caractères tronqués comme un échec de décodage.

IPFS CIDv0 utilise le standard Base58btc au lieu de Base58Check ; `bc1...` Ce type d'adresse Bitcoin appartient à Bech32 et n'entre pas dans le cadre de cette page Base58.

Cas d'utilisation

  • Vérifiez si l'ancienne adresse Bitcoin, la chaîne d'exportation de clé privée WIF ou le code de partage personnalisé Base58Check ont été mal saisis.
  • Encodez de petits fichiers, des fragments binaires ou des charges utiles de test dans Base58 pour une diffusion facile dans les journaux, les discussions ou les tickets.
  • Décodez la chaîne Base58 en hexadécimal, puis analysez-la pour les octets de version, le hachage ou la charge utile brute.
  • Comparez la sortie entre Bitcoin Base58 et Flickr Base58 pour découvrir pourquoi le même ensemble d'octets a des résultats différents dans différents systèmes.
  • Concevez votre propre table de caractères de 58 caractères pour les codes d'invitation internes, les logos courts ou les jetons hors ligne, et vérifiez que les deux extrémités sont cohérentes.

Comment utiliser

  1. Sélectionnez le mode d'encodage ou de décodage ; si vous devez gérer des chaînes sujettes aux erreurs saisies par l'homme, activez l'option Base58Check.
  2. Sélectionnez Bitcoin, Flickr ou une table de caractères personnalisée ; s'il s'agit d'un protocole privé, assurez-vous d'abord que les deux parties utilisent le même ensemble de séquences de 58 caractères.
  3. Saisissez du texte ou téléchargez un fichier lors de l'encodage ; collez la chaîne Base58 lors du décodage, en passant au résultat hexadécimal pour voir les octets bruts si nécessaire.
  4. Copiez ou téléchargez directement après avoir visualisé le résultat ; s'il s'agit de Base58Check, la page vous demandera de manière synchrone si la vérification a réussi.

Fonctionnalités

  • Modes doubles standard Base58 et Base58Check : le codage normal peut être effectué directement, ou une somme de contrôle de 4 octets peut être automatiquement ajoutée ou vérifiée.
  • Le texte et les fichiers peuvent être codés : le texte ordinaire sera traité selon UTF-8 et les fichiers seront codés selon les octets bruts, ce qui convient à la livraison hors ligne de contenu binaire.
  • Les résultats du décodage peuvent être basculés entre texte et hexadécimal : ne restez pas coincé dans du charabia lorsque vous rencontrez des charges utiles d'adresse, des fragments de hachage ou des données non UTF-8.
  • Prend en charge Bitcoin, Flickr et la table de caractères personnalisée de 58 caractères : adaptée à la compatibilité avec les systèmes existants ou au débogage de solutions de codes courts privés.
  • Traitement local du navigateur et téléchargement des résultats : l'encodage, le décodage et la vérification sont tous effectués localement et la sortie peut être copiée ou téléchargée directement.

Comment choisir Base58, Base58Check, Base64 ?

Ils peuvent tous deux convertir des octets en texte transmissible, mais l'objectif est complètement différent. La clé n'est pas "ce qui est le plus avancé", mais si vous appréciez davantage la transcription manuelle et la prévention des erreurs, ou si vous appréciez la compacité et la compatibilité universelle.

Planifierplus appropriéAvantagesRemarque
Encodage Base64Base64 URL Coffre-fort
Encodage Base32

Best Practices

La priorité sera donnée à Base58Check lorsqu'il sera retranscrit manuellement ou relayé par le service client

Tant que la chaîne sera dictée, capturée, transférée dans le chat ou ressaisie manuellement, une somme de contrôle vaut presque toujours la peine d'être ouverte. Cela n'empêchera pas toutes les erreurs, mais cela réduira considérablement les situations "on dirait que c'est vrai, mais il manque en fait un caractère".

Lorsque le résultat décodé n'est pas du texte, regardez d'abord le format hexadécimal

Il n'est pas garanti que les contenus tels que les charges utiles d'adresse, les hachages, les en-têtes d'image et les fragments compressés soient UTF-8. Passez d'abord en hexadécimal pour confirmer les octets d'origine, puis décidez s'il faut convertir le fichier, continuer le hachage ou le confier à d'autres outils pour le traitement.

Outils hexagonaux

N'utilisez pas Base58 comme format de stockage à long terme pour les fichiers volumineux

Base58 est plus adapté aux chaînes courtes et aux charges utiles petites à moyennes. Plus le fichier est volumineux, plus la sortie est longue, moins pratique à copier et plus susceptible d'être tronquée dans le texte enrichi, les outils de discussion ou les journaux.

Lors de la personnalisation de la table de caractères, celle-ci doit être synchronisée sur tous les terminaux de production.

Tant qu'un serveur, un script ou un client utilise un ordre différent, les résultats d'encodage et de décodage seront tous mal alignés. Corrigez d'abord la séquence de 58 caractères, puis écrivez-la dans le protocole ou l'échantillon de test.

Donnez la priorité à la comparaison Base64URL lorsqu’une transmission d’interface plus courte et plus générale est requise.

L'avantage de Base58 est qu'il est facile à lire et évite toute confusion, mais ce n'est pas la plus petite taille. Si les chaînes sont principalement transmises entre programmes et ne seront pas transcrites par des humains, Base64URL est généralement plus compact et courant.

Base64 URL Coffre-fort

FAQ

Lequel dois-je choisir entre Base58 et Base64 ?

Si la chaîne doit être lue, copiée ou saisie par d'autres, Base58 est préféré ; s'il est principalement transmis dans des programmes, des interfaces, des paramètres JSON ou URL, généralement Base64 ou Base64URL est plus compact. L'objectif de Base58 est la lisibilité et l'anti-obscurcissement, et non le résultat le plus court.

Base58Check Quel problème cela résout-il ?

Il ajoute une somme de contrôle de 4 octets à la charge utile d'origine, puis code l'intégralité de la charge utile avec Base58. De cette façon, lorsque l'utilisateur manque un mot, fait une faute de frappe ou écrit dans le mauvais ordre, l'outil signalera plus facilement une erreur à temps, au lieu d'obtenir silencieusement une chaîne de résultats dénués de sens.

Cette page peut-elle vérifier les adresses Bitcoin ?

Il peut être vérifié que la couche Base58Check est correcte, il convient donc de vérifier s'il existe des erreurs de saisie évidentes dans l'ancienne version de l'adresse Base58 ou de la chaîne d'exportation WIF. Cependant, il ne déterminera pas davantage l'utilisation de l'adresse, le type de réseau et le type de script, et ne prend pas non plus en charge les adresses Bech32 telles que `bc1...`.

Pourquoi le code après le décodage est-il tronqué ou l'invite n'est-elle pas UTF-8 ?

Parce que Base58 décode les octets bruts, pas nécessairement le texte lisible. Cela peut se produire avec des charges utiles d'adresse, des hachages, des en-têtes d'image ou des données binaires arbitraires. Passez en hexadécimal pour afficher les octets bruts et vous pouvez généralement continuer l'analyse.

L'encodage et le décodage du fichier Base58 sont-ils pris en charge ?

Soutien. Vous pouvez télécharger des fichiers pendant l'encodage et la page sera convertie en Base58 selon les octets d'origine ; vous pouvez également télécharger le résultat original après le décodage. Plus le fichier est volumineux, plus la chaîne de sortie est longue, ce qui la rend plus adaptée aux charges de travail petites à moyennes ou aux scénarios de débogage.

Quelles tables de caractères sont prises en charge ?

Prend actuellement en charge les normes Bitcoin Base58, Flickr Base58 et votre table de caractères personnalisée de 58 caractères. Tant que l’extrémité de codage et l’extrémité de décodage utilisent exactement la même séquence de caractères, elles peuvent communiquer entre elles.

Peut-il gérer IPFS CID ou d'autres chaînes en chaîne ?

CIDv0 Ces chaînes standard Base58btc peuvent être directement codées ou décodées ; mais la page ne continuera pas à analyser la sémantique multibase, multicodec ou concrète en chaîne. Les chaînes Bech32 comme `bc1...` n'entrent pas dans la portée de Base58.

Le contenu téléchargé sera-t-il envoyé au serveur ?

Non. Le texte, les fichiers et les résultats de la somme de contrôle Base58Check sont tous traités localement dans le navigateur, ce qui convient au débogage des charges sensibles, des données de test hors ligne ou des fragments de fichiers difficiles à télécharger.

Dépannage

L'astuce contient des caractères Base58 illégaux

La table de caractères actuelle n'accepte pas les caractères exclus tels que 0, O, I et l. Il se peut également que vous ayez coupé la mauvaise table de caractères Bitcoin / Flickr / personnalisée. Confirmez d'abord la source de la chaîne, puis vérifiez si la table de caractères est cohérente avec celle de l'autre partie.

Échec de la vérification Base58Check

Cela signifie généralement que la chaîne a été sous-copiée, que les caractères ont été mal écrits ou qu'il ne s'agit pas de Base58Check lui-même. Confirmez d'abord si vous avez vraiment besoin d'ouvrir Base58Check, puis revenez en arrière et vérifiez si le contenu original est complet.

La table de caractères personnalisée ne peut pas être enregistrée

La table de caractères personnalisée doit contenir exactement 58 caractères et chaque caractère ne doit apparaître qu'une seule fois. Il est recommandé de modifier d'abord la table de caractères standard Bitcoin pour éviter les caractères manquants ou les caractères répétés.

Le résultat décodé n'est pas du texte

Ce n'est pas nécessairement un bug. De nombreuses chaînes Base58 contiennent à l'origine des charges utiles binaires. Passez au mode hexadécimal pour afficher ou téléchargez les résultats du décodage sous forme de fichier, puis décidez de l'étape suivante.

Glossaire

Base58
Codage de texte 58 bits qui supprime les caractères facilement confus tels que 0, O, I, l, etc., adapté à la saisie manuelle et au partage de copies.
Base58Check
Une somme de contrôle de 4 octets est ajoutée après la charge utile d'origine, puis l'intégralité du codage Base58 est utilisée pour détecter les erreurs d'entrée plus tôt.
Charge utile
Créez du contenu d'octets bruts Base58 ou Base58Check avant l'encodage, qui peut être du texte, des octets de fichier, une charge utile d'adresse ou des données binaires arbitraires.
Somme de contrôle
Empreintes digitales courtes pour une vérification rapide des erreurs. Base58Check doublera SHA-256 sur la charge utile et prendra les 4 premiers octets comme somme de contrôle.
Bitcoin Base58 Table des caractères
La table de caractères Base58 la plus courante : 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz.
Flickr Base58
Flickr est un autre ensemble de tri utilisé par Base58, l'ordre des cas est différent de la version Bitcoin, donc les mêmes octets obtiendront une sortie différente.

Table de caractères supportée par la page actuelle

Pour le même ensemble d'octets, tant que l'ordre de la table de caractères est différent, la sortie finale Base58 sera différente.

table de caractèresUtilisations courantesDescriptif

Quand faut-il passer à l’affichage hexadécimal ?

Base58 Le résultat décodé ne peut pas toujours être lu directement dans le texte.

Contenu rencontréUne meilleure façon de voirRaison

Authoritative References