Encodage et chiffrement : quelle différence ?
Les revues de sécurité trouvent encore des clés API « protégées » en Base64 et des mots de passe stockés en ciphertext réversible sans gestion de clés. L’encodage transforme la représentation pour que les données survivent à un canal ; le chiffrement transforme le sens pour que seuls les détenteurs de clé le récupèrent ; le hachage compresse les données en empreinte à sens unique. La compression réduit la taille. Chaque outil a son rôle — et aucun ne remplace les autres.
7 min de lecture · Mis à jour le 2026-10-04

Quatre transformations que l’on mélange
Encodage, chiffrement, hachage et compression
| Encodage | Chiffrement | Hachage | Compression | |
|---|---|---|---|---|
| Objectif principal | Représenter les données autrement | Confidentialité | Intégrité / empreinte | Réduire la taille |
| Secret requis ? | Non | Oui (clé) | Optionnel (poivre/sel pour mots de passe) | Non |
| Réversible ? | Oui, par quiconque connaît le schéma | Oui, avec la clé | Conçu pour être à sens unique | Oui, avec ou sans perte |
| Exemple | Base64, encodage pourcent, hex | AES-GCM, TLS | SHA-256, bcrypt | gzip, JPEG |
| Mauvais usage | « Cacher » un mot de passe | Ignorer TLS parce que la charge est chiffrée une fois | Chiffrer puis hacher (choisir une pile) | Compresser des secrets qu’on ne peut pas inspecter |
Encodage : survivre au canal, pas le secret
L’encodage mappe octets ou texte vers un alphabet sûr pour le canal. Le courriel limitait autrefois les lignes à l’ASCII ; JSON et XML sont du texte ; les URL réservent des caractères comme ?, &, = et # à la structure. Les encodages sont des algorithmes publics — connaître le schéma suffit pour les inverser.
Base64
Base64 (RFC 4648) représente des données binaires avec 64 caractères ASCII imprimables plus du remplissage. La taille grossit d’environ un tiers, mais vous pouvez intégrer images, jetons ou ciphertext dans des chaînes JSON. Décoder est trivial avec n’importe quelle bibliothèque ou les outils base64-encoder et base64-decoder de SmartKitio — c’est pourquoi Base64 n’est pas un coffre.
Hello → SGVsbG8=
(JSON-safe string carrying the same bytes)Encodage URL (pourcent)
Les URL se décomposent en schéma, autorité, chemin, requête et fragment. Les caractères réservés dans les valeurs de requête doivent être encodés en pourcent (%20 pour l’espace, %26 pour &) pour que les analyseurs ne malinterprètent pas la saisie utilisateur. L’url-encoder de SmartKitio applique les mêmes règles que les navigateurs pour construire les query strings — l’encodage concerne la structure, pas cacher des valeurs à l’utilisateur au clavier.
Hexadécimal
L’hex écrit chaque octet en deux nibbles (0-9, a-f). La taille double comme en Base64, mais sans ambiguïté de casse ou d’alphabet. On voit l’hex dans les hash de commits Git, les adresses MAC et les dumps de debug — pas parce que l’hex est sécurisé, mais parce qu’il se lit sans ambiguïté à voix haute.
Chiffrement : confidentialité avec des clés
Le chiffrement utilise une clé et un algorithme pour produire un ciphertext inutilisable sans matériel de clé autorisé. Les schémas symétriques comme AES emploient un secret partagé pour les données en volume ; les schémas asymétriques comme RSA ou ECDH négocient des clés ou signent des messages. Les API modernes préfèrent le chiffrement authentifié (par exemple AES-GCM) pour détecter la falsification, pas seulement du plaintext brouillé.
AES dans les applications
Les développeurs rencontrent AES pour chiffrer des fichiers au repos, des colonnes de base ou des charges de session. Un usage correct exige des IV ou nonces aléatoires, une rotation des clés, et surtout ne pas inventer son propre mode. Une clé AES statique dans une app mobile reste un secret embarqué côté client — les attaquants peuvent l’extraire.
TLS sur le fil
Transport Layer Security chiffre et authentifie HTTP, le courriel et bien d’autres protocoles entre clients et serveurs. TLS protège les octets en transit contre l’écoute passive et beaucoup d’attaques actives quand les certificats sont validés. Cela ne remplace pas le hachage des mots de passe au repos ni l’évitement de secrets dans des URL qui finissent dans les journaux.
Encodage (ex. Base64)
- 1
Octets d’entrée
Toute charge binaire ou texte
- 2
Algorithme public
Alphabet RFC 4648 + remplissage
- 3
Texte encodé
Sûr pour JSON, courriel ou canaux ASCII
- 4
Tout le monde décode
Pas de clé ; le schéma suffit
Chiffrement (ex. AES-GCM)
- 1
Texte clair + clé
Clé secrète depuis KMS, poignée TLS ou stockage scellé
- 2
Chiffre + nonce
IV/nonce aléatoire par message quand requis
- 3
Ciphertext
Sans signification sans matériel de clé
- 4
Déchiffrement autorisé
Détenteur de la clé (ou session TLS) récupère le plaintext
L’encodage change de costume ; le chiffrement verrouille la pièce.
Hachage : empreintes à sens unique
Les fonctions de hachage cryptographiques mappent une entrée arbitraire vers un digest de taille fixe. De petits changements d’entrée avalanche le résultat. SHA-256 sert au contrôle d’intégrité et au content addressing ; ce n’est pas à lui seul un algorithme de stockage de mots de passe, car les GPU peuvent brute-forcer des mots de passe courts sans ralentissement ni sel.
Hachage de mots de passe
- Utilisez des hachages dédiés aux mots de passe : bcrypt, scrypt, Argon2 ou PBKDF2 avec des facteurs de travail élevés.
- Stockez un sel unique par utilisateur pour que les tables arc-en-ciel échouent.
- Poivre optionnel (secret côté serveur) pour une défense en profondeur bien gérée.
- Ne chiffrez jamais les mots de passe de façon réversible pour la vérification à la connexion — comparez les digests avec une égalité en temps constant.
L’outil sha256-hash de SmartKitio illustre SHA-256 pour les sommes de contrôle et l’apprentissage. Pour un vrai stockage de mots de passe, suivez OWASP et les bibliothèques de plateforme — pas un seul passage de hachage rapide.
La compression est un autre axe
gzip et Brotli réduisent les réponses HTTP. JPEG et WebP perdent de l’information pour les photos. La compression n’est ni encodage pour la sécurité du transport ni chiffrement. Les secrets compressés fuient encore des motifs de longueur dans certains modèles de menace, et il ne faut jamais compresser puis chiffrer naïvement sans comprendre les attaques de type CRIME/BREACH sur la compression HTTP.
Idées reçues qui survivent aux audits
- « On met la clé API en Base64, donc c’est sécurisé. » — N’importe qui peut décoder.
- « On a chiffré la base, donc TLS ne compte pas. » — Données en mouvement et au repos sont des contrôles distincts.
- « On a haché une fois avec SHA-256. » — Les hachages rapides suffisent mal pour des mots de passe à faible entropie.
- « L’encodage URL cache le mot de passe dans la query string. » — Il reste dans l’historique, les journaux et les en-têtes Referer.
- « Le JWT est chiffré parce qu’il a l’air brouillé. » — Les JWT sont souvent seulement signés (JWS) ou utilisent JWE quand le chiffrement est requis.
Exemples travaillés
Guide de décision rapide
| Vous devez… | Utiliser… | Pas… |
|---|---|---|
| Mettre du binaire dans du JSON | Encodage Base64 | AES sans histoire de clé |
| Construire une query string proprement | Encodage pourcent | Chiffrement de chaque paramètre |
| Vérifier l’intégrité d’un fichier | Comparaison de hash SHA-256 | Encodage réversible |
| Protéger le trafic HTTP | TLS (HTTPS) | Base64 sur le corps |
| Stocker les mots de passe de connexion | Argon2/bcrypt + sel | MD5 ou SHA-256 seul |
Les outils Base64 et URL de SmartKitio s’exécutent dans le navigateur pour des transformations rapides ; les guides base64-encoding-vs-encryption précisent quand ces transformations sont appropriées. Servez-vous-en pour apprendre et déboguer — pas pour « sécuriser » des secrets.
Normes et recommandations
Articles associés

Programmation
JSON expliqué : pourquoi il est devenu si populaire
De la syntaxe minimale de Douglas Crockford au format par défaut des API web — comment JSON a gagné, ce qu’il interdit et où il reste pénible.
7 min de lecture · 2026-10-04
Lire l’article
Web
De quoi sont faites les URL
Schéma, hôte, port, chemin, requête et fragment — comment les analyseurs les lisent, pourquoi l’encodage pourcent existe, et URL vs URI en sécurité.
8 min de lecture · 2026-10-04
Lire l’article
Technologie
Pourquoi les logiciels utilisent différents formats de données
JSON, CSV, blobs binaires et images répondent à des contraintes différentes — l’échange n’est jamais gratuit.
7 min de lecture · 2026-10-04
Lire l’article
Programmation
Que se passe-t-il vraiment quand le code s’exécute ?
Le texte source devient tokens, arbres, code machine ou bytecode, puis travail CPU — plus piles, tas, GC, JIT, et pourquoi la prod diffère du dev.
9 min de lecture · 2026-10-04
Lire l’article
