Aller au contenu
Aback Tools Logo

Encodeur/Décodeur de jetons Fernet

Chiffrez des messages en jetons Fernet (AES-128-CBC + HMAC-SHA256) ou décodez et vérifiez des jetons Fernet avec validation de l'horodatage et du HMAC. Compatible avec la bibliothèque cryptography de Python. Tout le traitement est local et privé dans votre navigateur.

Fernet Token Encoder/Decoder
Encrypt messages into Fernet token format (AES-128-CBC + HMAC-SHA256) compatible with Python's cryptography library. Decode and verify Fernet tokens with timestamp and HMAC validation. All processing is local in your browser.

The key is derived from your password using PBKDF2 + HKDF (480,000 iterations)

Enter a password and message, then click Encrypt to Fernet Token

Pourquoi utiliser notre encodeur/décodeur de jetons Fernet ?

  • Compatible avec la bibliothèque cryptography de Python : les jetons Fernet générés par notre encodeur peuvent être déchiffrés par la bibliothèque cryptography.fernet de Python, et inversement. Compatibilité totale avec la spécification Fernet standard (AES-128-CBC + HMAC-SHA256).
  • Vérification de signature HMAC : chaque jeton Fernet inclut une signature HMAC-SHA256 vérifiée lors du déchiffrement. Si le jeton a été falsifié ou si le mauvais mot de passe est utilisé, le contrôle HMAC échoue immédiatement.
  • Validation de l'horodatage et âge du jeton : chaque jeton Fernet contient un horodatage Unix intégré indiquant précisément sa création. Au déchiffrement, l'encodeur Fernet affiche l'âge du jeton et son heure de création pour l'audit et la vérification d'expiration.
  • Dérivation de clé PBKDF2 sécurisée : votre mot de passe est converti en une clé de 32 octets compatible Fernet avec PBKDF2 et 480 000 itérations plus une expansion HKDF. Le format de sortie combiné clé+jeton facilite le partage : collez simplement la chaîne entière.

Cas d'usage courants de l'encodeur/décodeur de jetons Fernet

  • Échange de messages sécurisé : utilisez l'encodeur de jetons Fernet pour chiffrer des messages avant de les envoyer par e-mail, messagerie ou réseaux sociaux. Le destinataire peut déchiffrer le jeton Fernet avec le même mot de passe. Aucun service tiers requis.
  • Intégration pour développeurs Python : les développeurs Python peuvent utiliser cet encodeur Fernet en ligne pour générer rapidement des jetons de test ou de débogage. La sortie est entièrement compatible avec le module cryptography.fernet de Python : inutile d'écrire des scripts de test.
  • Génération de jetons pour API : générez des jetons Fernet pour l'authentification d'API ou la gestion de sessions. L'horodatage intégré permet aux serveurs de vérifier la fraîcheur du jeton, tandis que le HMAC garantit qu'il n'a pas été falsifié.
  • Stockage de secrets de configuration : chiffrez des valeurs de configuration sensibles — clés d'API, mots de passe de bases de données ou identifiants de services — en jetons Fernet. Stockez les jetons dans des fichiers de configuration et déchiffrez-les à l'exécution avec le mot de passe maître.
  • Portabilité des données multiplateforme : les jetons Fernet sont indépendants de la plateforme. Chiffrez des données dans votre navigateur avec notre encodeur Fernet, puis déchiffrez-les en Python, Go, Rust ou tout langage disposant d'une bibliothèque compatible Fernet.
  • Chiffrement de cookies et de sessions : chiffrez des données de session web ou des cookies en jetons Fernet. La signature HMAC empêche la falsification, tandis que l'horodatage permet l'expiration de session. Tout le traitement est local au navigateur pour les tests et le prototypage.

Qu'est-ce qu'un jeton Fernet ?

Un jeton Fernet est un format de chiffrement symétrique défini par la bibliothèque cryptography de Python. Il combine le chiffrement AES-128-CBC avec l'authentification HMAC-SHA256. Chaque jeton Fernet contient un octet de version, un horodatage Unix, un vecteur d'initialisation (IV) aléatoire, le texte chiffré et une signature HMAC — le tout dans une chaîne encodée en Base64. Le format du jeton garantit à la fois la confidentialité et l'intégrité : le texte chiffré ne peut pas être lu sans la clé, et le HMAC empêche toute falsification non détectée. Cette double protection rend les jetons Fernet adaptés à l'échange sécurisé de messages, à la gestion de sessions et au chiffrement de configuration.

Comment fonctionne notre encodeur/décodeur de jetons Fernet

  1. Dérivation de la clé : votre mot de passe est converti en une clé Fernet de 32 octets avec PBKDF2 et 480 000 itérations de SHA-256, suivies d'une expansion HKDF. Les 16 premiers octets deviennent la clé de signature HMAC et les 16 derniers la clé de chiffrement AES.
  2. Chiffrement (encodage) : un IV aléatoire de 16 octets est généré. Le texte en clair est complété avec PKCS7, chiffré avec AES-128-CBC et assemblé dans le format du jeton : octet de version (0x80) + horodatage de 8 octets + IV + texte chiffré + HMAC. Tout le jeton binaire est encodé en Base64.
  3. Déchiffrement (décodage) : le jeton est décodé de Base64, analysé en ses composants, le HMAC est vérifié par rapport à la clé de signature et, s'il est valide, le texte chiffré est déchiffré avec AES-128-CBC puis décomplété.

Structure d'un jeton Fernet

  • Version (1 octet) : toujours 0x80 (128), identifiant un jeton Fernet de version 2. Les versions futures pourraient utiliser d'autres valeurs.
  • Horodatage (8 octets) : horodatage Unix en big-endian indiquant la création du jeton. Utile pour les contrôles d'expiration et l'audit.
  • IV (16 octets) : vecteur d'initialisation aléatoire pour AES-128-CBC. Un IV différent est généré à chaque chiffrement, garantissant que des textes en clair identiques produisent des jetons différents.
  • Texte chiffré (variable) : le texte en clair complété avec PKCS7 et chiffré avec AES-128-CBC à l'aide de la clé de chiffrement de 16 octets dérivée de votre mot de passe.
  • HMAC (32 octets) : HMAC SHA-256 sur la version, l'horodatage, l'IV et le texte chiffré, calculé avec la clé de signature de 16 octets. Cela empêche toute falsification non détectée.

Confidentialité, sécurité et notes d'utilisation

L'encodeur/décodeur de jetons Fernet traite toutes les données entièrement dans votre navigateur avec la Web Crypto API. Aucune donnée n'est jamais envoyée à un serveur, stockée dans une base de données ni partagée avec un tiers. Les opérations cryptographiques — dérivation de clé PBKDF2, chiffrement/déchiffrement AES-128-CBC et signature/vérification HMAC-SHA256 — utilisent toutes les primitives cryptographiques natives du navigateur pour une sécurité maximale. Gardez votre mot de passe en sécurité : il n'existe aucun mécanisme de récupération. Le format de sortie combiné clé+jeton vous permet de partager à la fois le matériel de clé et le jeton dans une seule chaîne.

Foire aux questions

Un jeton Fernet est un format de chiffrement symétrique défini par la bibliothèque cryptography de Python qui combine le chiffrement AES-128-CBC avec l'authentification HMAC-SHA256. Chaque jeton contient un octet de version, un horodatage Unix, un IV aléatoire, le texte chiffré et une signature HMAC — le tout dans une chaîne encodée en Base64 pouvant être transmise ou stockée en toute sécurité.

Oui. Notre encodeur/décodeur de jetons Fernet est entièrement compatible avec le module cryptography.fernet de Python. Les jetons générés dans le navigateur peuvent être déchiffrés en Python, et les jetons générés par le module Fernet de Python peuvent être déchiffrés ici, à condition d'utiliser la même clé ou le même mot de passe. Notez toutefois que notre outil utilise PBKDF2 + HKDF pour dériver la clé à partir du mot de passe, tandis que le Fernet de Python utilise généralement une clé brute de 32 octets.

Votre mot de passe est converti en une clé Fernet de 32 octets à l'aide de PBKDF2 avec 480 000 itérations de SHA-256, suivies d'une expansion HKDF. Les 16 premiers octets deviennent la clé de signature HMAC et les 16 derniers la clé de chiffrement AES. Pour plus de commodité, notre format de sortie combiné place le sel PBKDF2 devant la clé, ce qui rend la sortie autonome pour le déchiffrement.

Le format combiné est une commodité qui place le matériel de clé encodé avec le sel devant le jeton Fernet, séparés par un point. Vous pouvez coller la chaîne entière pour déchiffrer plus tard : le décodeur extraira le sel, régénérera la clé à partir de votre mot de passe et déchiffrera le jeton. Vous pouvez aussi couper au niveau du point et utiliser la seconde partie comme jeton Fernet autonome.

Oui, totalement. Toutes les opérations cryptographiques — dérivation de clé PBKDF2, chiffrement/déchiffrement AES-128-CBC et signature/vérification HMAC-SHA256 — utilisent la Web Crypto API et s'exécutent entièrement dans votre navigateur. Votre mot de passe et votre texte en clair ne quittent jamais votre appareil. Aucune donnée n'est envoyée, stockée ni partagée avec un serveur.

La vérification de la signature HMAC-SHA256 échouera et le décodeur signalera une erreur. Le HMAC est calculé sur l'octet de version, l'horodatage, l'IV et le texte chiffré, donc toute modification d'une partie du jeton fera échouer le contrôle HMAC. Cela empêche toute falsification non détectée et garantit l'intégrité de vos données chiffrées.

Non. Un mot de passe est requis pour le chiffrement comme pour le déchiffrement. La spécification Fernet exige une clé de 32 octets, et notre outil dérive cette clé de votre mot de passe avec PBKDF2. Le mot de passe est le seul moyen de chiffrer ou déchiffrer des jetons — il n'existe aucun mécanisme de récupération, gardez donc votre mot de passe en sécurité.

Les jetons Fernet ont un surcoût fixe de 57 octets (version 1 + horodatage 8 + IV 16 + HMAC 32) avant le texte chiffré. Votre texte en clair est complété jusqu'au multiple de 16 octets le plus proche puis chiffré. Un message de 10 octets produit environ 92 octets de jeton encodé en Base64. Il n'y a pas de limite de taille pratique puisque tout le traitement est local.

Oui, 100 % gratuit. Sans inscription, sans offre premium et sans limite d'utilisation. L'outil fonctionne entièrement dans votre navigateur avec la Web Crypto API et restera toujours gratuit sur Aback Tools.