Décoder du base64 en Go
comment corriger "panic: illegal base64 data at input byte"
Je tentais de décoder la partie payload d’un token JWT (https://scotch.io/tutorials/the-anatomy-of-a-json-web-token) quand j’ai eu l’erreur suivante :
panic: illegal base64 data at input byte 349
Ma façon de faire était pourtant classique et a toujours fonctionné auparavant :
base64.StdEncoding.DecodeString(s)
Et le décodage du string via un autre outil ne posait pas de souci. 😧
La solution se trouvait une fois de plus dans la documentation de Go : https://golang.org/pkg/encoding/base64/#pkg-variables
Il existe plusieurs fonctions de décodage qui prennent ou non en compte les caractères de padding, en changeant pour :
base64.RawStdEncoding.DecodeString(s)
Mon payload était décodé.
👍