GNU/Linux >> Tutoriels Linux >  >> Linux

base64 -d décode, mais indique une entrée invalide

Si vous faites l'inverse, vous constaterez que la chaîne n'est pas complète :

$ echo '{"foo":"bar","baz":"bat"}' | base64
eyJmb28iOiJiYXIiLCJiYXoiOiJiYXQifQo=

$ echo "eyJmb28iOiJiYXIiLCJiYXoiOiJiYXQifQo=" | base64 -di
{"foo":"bar","baz":"bat"}

Extraits de Pourquoi l'encodage base64 nécessite-t-il un remplissage si la longueur d'entrée n'est pas divisible par 3 ?

Que sont les caractères de remplissage ?

Les caractères de remplissage aident à satisfaire aux exigences de longueur et n'ont aucune signification.

Cependant, le rembourrage est utile dans les situations où les chaînes encodées en base64 sont concaténées de telle manière que les longueurs des séquences individuelles sont perdues, comme cela pourrait arriver, par exemple, dans un protocole réseau très simple.

Si des chaînes non remplies sont concaténées, il est impossible de récupérer les données d'origine car les informations sur le nombre d'octets impairs à la fin de chaque séquence individuelle sont perdues. Cependant, si des séquences rembourrées sont utilisées, il n'y a pas d'ambiguïté et la séquence dans son ensemble peut être décodée correctement.


L'outil de ligne de commande est pointilleux sur la présence de caractères de remplissage. Cette chaîne fait 34 caractères, il devrait donc y avoir deux = signes comme remplissage à la fin.

$ echo "eyJmb28iOiJiYXIiLCJiYXoiOiJiYXQifQ==" | base64 -di; echo
{"foo":"bar","baz":"bat"}

Linux
  1. Exécuter la commande Nohup avec entrée ?

  2. Les "si" ?

  3. Linux – Refs Mais pour Linux ?

  4. Dd :plusieurs fichiers d'entrée ?

  5. Masquer les chaînes en Python

Comment taper emoji sur Linux

Network Manager indique une connectivité limitée mais tout fonctionne

Explication de la redirection d'entrée-sortie sur Linux

Annuler l'achèvement, mais uniquement l'achèvement, dans Zsh ?

Ubuntu dit 13.04 mais Lsb_release dit 12.10 ?

Substitution de processus :une méthode peu courante mais avancée pour la redirection d'entrée/sortie sous Linux