Skip to content

Base64 est un encodage, pas un chiffrement : ce qu'il faut savoir

6 min de lecture 12 juin 2026
base64encodagechiffrementsécuritédéveloppeurs

Base64 transforme des octets en texte pour qu'ils survivent aux systèmes conçus pour le texte. Il ne brouille rien et ne cache rien ; le décoder ne demande qu'un clic. Considérez Base64 comme un format de transport, jamais comme une mesure de sécurité.

Base64 est un encodage, pas un chiffrement : ce qu'il faut savoir — Hivly

Vous repérez une longue chaîne de lettres et de chiffres, se terminant peut-être par un ou deux signes égal, et elle a tout l’air d’un secret. Ce n’en est pas un. C’est du Base64 et, malgré son apparence brouillée, il ne cache absolument rien. N’importe qui peut le ramener à l’original en une seule étape. Cela compte, car beaucoup de gens continuent de confondre Base64 avec une mesure de sécurité, et cette confusion fait fuiter de vrais secrets.

TL;DR : Base64 convertit des données binaires en texte simple pour qu’elles puissent transiter par des systèmes conçus pour le texte, comme les e-mails et les URLs. Il utilise un alphabet public fixe sans clé, donc le décodage est trivial et instantané. C’est un format de transport, pas du chiffrement. Ne l’utilisez jamais pour protéger un mot de passe, un jeton ou un secret quelconque.

À quoi sert Base64

Les ordinateurs stockent les images, les fichiers et les clés sous forme d’octets bruts, mais de nombreux systèmes ont été conçus pour transporter du texte, et uniquement du texte. Le corps des e-mails, les URLs, les champs JSON, le HTML et le CSS attendent tous des caractères imprimables et peuvent s’étouffer sur du binaire brut ou le corrompre. Base64 résout cela en réexprimant n’importe quels octets à l’aide d’un jeu sûr de 64 caractères imprimables : les lettres de A à Z et de a à z, les chiffres de 0 à 9, et deux caractères supplémentaires. D’où son nom.

Le résultat est un texte que tout système basé sur le texte transportera intact. C’est pour cela qu’une petite image peut être intégrée directement dans une feuille de style sous forme de data URL, que les pièces jointes voyagent à l’intérieur d’un e-mail texte, et que les jetons sont encodés ainsi. Base64 est le carton d’expédition qui permet à une cargaison binaire de voyager sur des routes pavées pour le texte. Le carton empêche le contenu de se briser en chemin. Ce n’est pas un coffre-fort, et il n’a jamais été destiné à l’être.

Pourquoi ce n’est pas du chiffrement

Le chiffrement et Base64 peuvent se ressembler, car tous deux produisent un résultat illisible au premier coup d’œil, mais ils fonctionnent de façons opposées. Le chiffrement utilise une clé secrète pour transformer les données de sorte que seule une personne disposant de la clé correspondante puisse l’inverser. Sans la clé, le résultat n’a aucun sens. Toute la sécurité repose sur le fait que la clé reste secrète.

Base64 n’a pas de clé. Il utilise un seul alphabet fixe et publié, identique pour tout le monde sur la planète, et la correspondance est entièrement réversible par quiconque connaît la norme, qui est publique. Il n’y a aucun secret, donc rien pour tenir un attaquant à l’écart. Qualifier Base64 de code revient à qualifier l’alphabet de code : c’est juste une autre manière d’écrire la même information, lisible par quiconque sait lire. Le décoder, c’est un clic dans n’importe quel outil, y compris un encodeur et décodeur Base64 sur dev.hivly.net, et l’original ressort aussitôt.

L’erreur qui fait fuiter les secrets

La version dangereuse de cette confusion consiste à stocker ou à envoyer un secret en Base64 en croyant qu’il est protégé. Un mot de passe, une clé d’API, un jeton de session : placez l’un d’eux en Base64 et le résultat d’apparence brouillée semble sûr, si bien qu’il finit dans un fichier de configuration, un journal, une URL ou une colonne de base de données que l’on suppose cachée. Il n’est pas caché. Quiconque lit cette chaîne la décode en quelques secondes pour retrouver le secret d’origine.

On le voit en permanence avec les jetons. Un JWT, par exemple, est composé de parties encodées en Base64, et sa charge utile est là, à la vue de tous, ce qui explique précisément pourquoi vous ne devez jamais placer un secret dans la charge utile d’un JWT. L’encodage n’est pas une protection ; c’est l’inverse d’une protection, parce qu’il est trivialement réversible. Si vous traitez une sortie Base64 comme s’il s’agissait de texte chiffré, vous avez publié votre secret tout en ayant l’impression de l’avoir mis sous clé.

Le bon modèle mental

Retenez une seule règle et vous ne vous tromperez pas : Base64 change le format, le chiffrement change l’accès. Tournez-vous vers Base64 quand vous avez besoin que des données binaires survivent à un canal réservé au texte, qu’il s’agisse d’intégrer une image, de joindre un fichier ou de transporter la structure d’un jeton. Tournez-vous vers un vrai chiffrement, un algorithme adéquat avec une clé que vous gardez secrète, dès que l’objectif est d’empêcher quelqu’un de lire le contenu.

Les deux fonctionnent même ensemble, dans cet ordre. Vous chiffrez d’abord le secret, ce qui le rend illisible sans la clé, puis, si vous devez faire transiter ce bloc chiffré par un canal texte, vous l’encodez en Base64 pour un transport sûr. C’est la bonne pile : chiffrer pour le secret, puis encoder pour le voyage. L’encodage seul, sans rien en dessous, ne protège rien, quelle que soit l’apparence énigmatique du résultat.

Try the developer & network toolsFormat, validate, encode and generate — JSON, Base64, JWT, regex, UUID, hashes — plus subnet/IPv6 calculators, live DNS, MX and reverse lookups, and SPF/DKIM/DMARC records.

Questions fréquentes

Base64 est-il une forme de chiffrement ?
Non. Le chiffrement utilise une clé secrète pour rendre les données illisibles sans elle. Base64 utilise un alphabet fixe et public que n'importe qui peut inverser sans clé ni secret. Une chaîne qui paraît brouillée en Base64 est entièrement lisible pour quiconque la repasse dans un décodeur, ce qui ne demande qu'une étape.
Pourquoi Base64 ressemble-t-il à un code secret alors qu'il n'en est pas un ?
Parce qu'il remplace les caractères habituels par un autre jeu de caractères, ce qui donne un résultat inhabituel. Mais cette substitution est une norme publiée, identique pour tout le monde, sans aucune clé. L'apparence inhabituelle est un effet secondaire du fait de rendre imprimables des données binaires, pas une tentative de cacher quoi que ce soit.
À quoi sert réellement Base64 ?
À faire transiter des données binaires par des canaux conçus pour le texte. Les pièces jointes des e-mails, les data URLs qui intègrent une image dans du HTML ou du CSS, et les jetons comme les JWT utilisent tous Base64 pour que des octets bruts survivent aux systèmes qui attendent du texte simple. C'est un format de transport, l'équivalent numérique d'un carton d'expédition, pas un cadenas.
Puis-je mettre un mot de passe ou un secret en Base64 pour le protéger ?
Non, et le faire est une erreur de sécurité courante. Quiconque voit la chaîne Base64 peut la décoder instantanément pour retrouver le secret d'origine. Si vous devez protéger quelque chose, chiffrez-le avec un vrai algorithme et une clé, puis vous pouvez encoder en Base64 le résultat chiffré pour un transport sûr si besoin.

À lire ensuite

Un projet plus ambitieux ?

Hivly est créé par CodingEagles, un studio logiciel qui livre des applications web de production. Si vous avez un vrai projet, contactez-nous.

Découvrez ce que fait CodingEagles →