Skip to content

Outil de chiffrement et déchiffrement DES / 3DES

Chiffrement/déchiffrement DES/3DES (2/3 clés) en ECB/CBC et PKCS#7 dans votre navigateur. Longueurs de clé (8/16/24 octets) validées strictement. Chaque résultat avec la commande OpenSSL équivalente. Rien n'est envoyé.

Sans pistage Fonctionne dans le navigateur Gratuit
Le chiffrement s'exécute entièrement dans votre navigateur — la clé et les données saisies ne quittent jamais cet appareil.

Texte chiffré
Commande OpenSSL équivalente
—

La commande contient la clé que vous avez saisie.

Vecteur de test DES issu de FIPS 81

Calculé au moment du build par le moteur que cette page exécute — comparez-y votre propre implémentation DES.
Clé (DES simple) 0123456789abcdef
Texte clair 4e6f772069732074
Texte chiffré (ECB, sans padding) 3fa40e8a984d4815
Le moteur DES/3DES vérifie le vecteur FIPS 81 et a été recoupé avec OpenSSL 3 (des-ede / des-ede3, le DES simple étant validé par l'équivalence K‖K‖K) sur plus de 3 000 combinaisons aléatoires en ECB et CBC ; les commandes OpenSSL équivalentes ont été exécutées dans un vrai shell pour comparaison. Les valeurs par défaut des bibliothèques ont été confirmées en les exécutant et en lisant leur code source ; voir alternatives. — Go Tools Security Team · 28 sept. 2026

Écrit et relu par les développeurs qui construisent les outils de chiffrement. Chaque texte chiffré et chaque nombre d'octets de cette page est calculé par le moteur de l'outil et vérifié par des tests.

Réponses rapides DES

Longueur de clé DES

8 / 16 / 24 octets DES simple : 8 octets (56 bits effectifs). 3DES : 16 octets (2 clés) ou 24 octets (3 clés). Matériau de clé nominal 112/168 bits ; force de sécurité effective du NIST environ 80/112 bits (SP 800-57). Cet outil détecte automatiquement d'après le nombre d'octets ; les autres longueurs lèvent une erreur.

Vecteur de test FIPS 81

3fa40e8a984d4815 Clé 0123456789abcdef, texte clair "Now is t" (hex 4e6f772069732074) : DES simple ECB sans padding sort 3fa40e8a984d4815.

Longueur de l'IV DES

8 octets 8 octets (16 chiffres hex), CBC uniquement — ECB n'en utilise pas. À distinguer de l'IV d'AES sur 16 octets.

Le PKCS5Padding de Java

= PKCS#7 Pour le DES, c'est PKCS#7 — le même algorithme de padding sous son nom historique (PKCS#5 n'a défini que des blocs de 8 octets, ceux du DES).

DES est-il sûr aujourd'hui

Interop héritage uniquement Non. DES simple retiré en 2005 ; 3DES obsolète dans la SP 800-131A Rev.2 (2023). Interopérabilité héritée uniquement — utilisez AES-256 pour tout projet nouveau.

Que sont DES et 3DES (Data Encryption Standard) ?

DES (Data Encryption Standard) est le chiffrement par blocs symétrique adopté en 1977 par l'organisme de normalisation américain, à partir de la conception Lucifer d'IBM . Il traite des blocs de 64 bits (8 octets) sous une clé nominale de 64 bits à 56 bits effectifs, en 16 tours d'une structure de Feistel.

3DES (TDEA, Triple DES) enchaîne trois fois le DES pour pallier la clé courte : C = E_K3(D_K2(E_K1(P))). La passe centrale est un déchiffrement, de sorte que K1=K2=K3 réduit la chaîne au DES simple — un choix délibéré de compatibilité. La forme 2 clés (K3=K1) offre environ 112 bits effectifs et est la forme la plus répandue dans les systèmes bancaires historiques.

Le NIST a retiré le DES simple en 2005 (avis FIPS 46-3) et rendu le 3DES obsolète dans la SP 800-131A Rev.2 (2023). S'ils existent encore, c'est uniquement pour l'interopérabilité avec l'existant : chambres de compensation bancaires, passerelles de paiement et systèmes Java/.NET/PHP des années 1990/2000 font encore tourner du chiffrement de l'ère DES. Toute conception nouvelle doit utiliser AES-256.

# OpenSSL single DES (legacy provider)
openssl enc -des-ecb -provider legacy -provider default -K 0123456789abcdef -nopad

# 3-key 3DES CBC + PKCS#7 (default provider)
openssl enc -des-ede3-cbc -K <48 hex digits> -iv <16 hex digits> -base64 -A

Ce que fait cet outil DES

Validation stricte des trois longueurs de clé

8/16/24 octets sont détectés automatiquement comme DES simple / 2 clés / 3 clés 3DES ; toute autre valeur lève une erreur. Contrairement à la troncature silencieuse de CryptoJS ou au truncate-and-warn d'openssl enc -K, une clé erronée échoue bruyamment — première cause d'incompatibilités d'interopérabilité.

Vecteur FIPS 81 calculé au moment du build

Le tableau de vecteurs de test en bas de page est calculé au build par le même moteur, si bien que les crawlers lisent la valeur de référence sans exécuter de JS et que le nombre affiché ne peut jamais diverger de l'outil interactif.

Commande OpenSSL équivalente

Chaque combinaison de paramètres correspond à une commande openssl enc qui reproduit le résultat sur OpenSSL 3, flags legacy-provider compris pour le DES simple. Envoyez-la à l'autre partie pour cerner la divergence de paramètres.

Prise en charge du texte clair GBK

Le getBytes() Java de l'ère DES sur un JDK Windows chinois produit du GBK. Les deux sens acceptent le GBK ici, si bien que le texte chinois des vieux systèmes se passe de conversion préalable.

Entièrement dans le navigateur

TypeScript pur, zéro dépendance, zéro requête réseau. Les clés et le texte clair ne quittent jamais l'appareil ; fonctionne hors ligne après chargement. La seule forme acceptable pour un outil qui manipule des clés.

Valeurs par défaut des bibliothèques DES selon le langage

Java (JCE)

"DES" fait ECB + PKCS5Padding par défaut

Cipher.getInstance("DES") équivaut à DES/ECB/PKCS5Padding ; "DESede" est du 3DES mais n'accepte que des clés de 24 octets — étendez K1‖K2 en K1‖K2‖K1 pour du 2 clés. PKCS5Padding est PKCS#7 pour le DES. IV omise : le chiffrement en tire une aléatoire (récupérable via getIV()), le déchiffrement lève "Parameters missing".

PHP (openssl_encrypt)

des-ede3-cbc / des-ede-cbc

Les noms d'algorithmes suivent OpenSSL : des-ede3 est ECB triple, des-ede3-cbc est CBC. $options=0 (défaut) sort du texte Base64 ; OPENSSL_RAW_DATA pour les octets bruts. Les clés courtes sont comblées de zéros en silence ; une IV vide avertit puis chiffre avec une IV nulle.

OpenSSL 3 (openssl enc)

-des-ede3-cbc fonctionne par défaut

Le DES simple exige -provider legacy -provider default (certaines builds omettent legacy entièrement). -K/-iv prennent de l'hex ; PKCS#7 par défaut, -nopad pour désactiver. -K tronque les clés trop longues avec un avertissement.

CryptoJS

Tronque en silence les longueurs de clé illégales

Une clé brute de 8 octets (WordArray) fonctionne ; les longueurs erronées sont comblées de zéros ou tronquées en silence (4 octets comblés, 10 tronqués — sans erreur). Une chaîne passée comme « clé » déclenche une dérivation de clé (MD5 + sel aléatoire, sortie préfixée Salted__, différente à chaque fois). CBC sans IV est un crash TypeError, pas une IV nulle. TripleDES avec une clé de 8 octets devient silencieusement du DES simple.

.NET

TripleDES fait CBC + PKCS7 par défaut

TripleDESCryptoServiceProvider : Mode=CBC, Padding=PKCS7, clé de 16 ou 24 octets (DES en prend 8). .NET rejette les clés faibles (la parité est normalisée d'abord, puis comparée à la table des clés faibles — une clé nulle lève une exception) alors que toutes les autres bibliothèques les acceptent. Y prêter attention en cas de migration.

Go (crypto/des)

Câblage explicite du mode

des.NewCipher donne l'interface de bloc brut à clé de 8 octets ; vous l'habillez vous-même de cipher.NewCBCEncrypter etc. Le 3DES est des.NewTripleDESCipher (24 octets). La longueur d'IV y est contrôlée plus strictement que dans la plupart des langages.

Exemples de chiffrement DES

Vecteur de test FIPS 81 (DES simple, ECB, sans padding)

Clé 0123456789abcdef, texte clair (hex) 4e6f772069732074
3fa40e8a984d4815

Le texte clair est la chaîne ASCII "Now is t". C'est le vecteur FIPS 81 de référence, et le tableau en bas de page est calculé au moment du build par le même moteur — si votre implémentation DES ne produit pas cette valeur pour ces entrées, elle contient un bug.

3DES 2 clés + CBC + PKCS#7 : texte clair UTF-8 vers Base64

Clé 0123456789abcdeffedcba9876543210 (16 octets), IV fedcba9876543210, texte clair : DES interop test: order 20260927-0042
QmnMoewSecp7Z7cr/w3/4AjM9lpFo1swc4dfLNH5UkgCwU5n7WIdKA==

Une clé de 16 octets est traitée comme du 3DES 2 clés (K1 = les 8 premiers octets, K2 = les 8 derniers, K3 = K1 — l'assemblage EDE2). PKCS#7 sur un bloc de 8 octets est exactement ce que Java appelle "PKCS5Padding" pour le DES : même schéma, seule la taille de bloc diffère.

3DES 3 clés + CBC + PKCS#7

Clé 0123456789abcdef23456789abcdef010456789abcdef012 (24 octets), IV fedcba9876543210, texte clair : hello des
DhDQX9sfxKOirZ8eyqT7Jg==

Une clé de 24 octets correspond au EDE3 complet à trois clés : C = E_K3(D_K2(E_K1(P))). Des trois longueurs de clé, c'est la seule forme sans équivalent dégénéré — aussi bien 2 clés que K1=K2=K3 se réduisent à des chiffrements plus faibles.

Comment utiliser cet outil de chiffrement/déchiffrement DES

  1. 1

    Choisir le mode et le padding

    Pour le DES/ECB/PKCS5Padding de Java, choisissez ECB + PKCS#7 ; pour openssl enc -des-ede3-cbc, choisissez CBC + PKCS#7. Le vieux code PHP mcrypt utilise typiquement Zero padding.

  2. 2

    Saisir la clé (8/16/24 octets)

    Le nombre d'octets sélectionne le chiffrement : 8 = DES simple, 16 = 3DES 2 clés, 24 = 3DES 3 clés. Choisissez Hex, Texte ou Base64 ; le badge affiche le nombre d'octets réel et la forme détectée. Les longueurs erronées lèvent une erreur — rien n'est jamais tronqué.

  3. 3

    Pour CBC, saisir l'IV de 8 octets

    ECB n'a pas besoin d'IV. L'IV doit faire exactement 8 octets — 16 chiffres hex, pas les 32 d'AES. Le bouton Aléatoire en produit une neuve.

  4. 4

    Coller et obtenir les résultats en direct

    Pour chiffrer : saisissez du texte (UTF-8/GBK) ou de l'hex. Pour déchiffrer : collez du Base64 ou de l'hex. Les résultats se mettent à jour à la saisie, avec copie en un clic et vérification aller-retour via le bouton Déchiffrer ceci.

  5. 5

    Emporter la commande OpenSSL équivalente chez l'autre partie

    Le panneau repliable donne une commande openssl enc qui reproduit le résultat courant (clé comprise ; les commandes DES simple portent -provider legacy -provider default). Envoyez-la à votre interlocuteur — le moyen le plus rapide de trancher qui a le mauvais paramètre.

Pourquoi le déchiffrement DES échoue

La longueur de clé n'est pas 8/16/24

Une « clé DES » de 32 caractères hex fait 16 octets — c'est du 3DES 2 clés, pas du DES simple. Inversement, donner une clé de 24 octets à un système qui ne gère que 2 clés échoue aussi.

✗ Incorrect
Clé 0123456789abcdeffedcba9876543210 (16 octets) avec DES simple sélectionné → erreur « la clé doit faire exactement 8 octets »
✓ Correct
La même clé en 16 octets (3DES 2 clés) → déchiffre proprement

Confusion entre les noms PKCS5 et PKCS7

Java écrit "PKCS5Padding" pour le DES mais exécute l'algorithme PKCS#7 (PKCS#5 n'a défini que le padding de blocs de 8 octets, ceux du DES, d'où le nom resté). Choisir None ou Zero contre un texte chiffré JCE échoue toujours.

✗ Incorrect
Texte chiffré JCE `DES/ECB/PKCS5Padding` déchiffré en "sans padding" → déchets en fin de flux ou erreur de padding invalide
✓ Correct
Sélectionner PKCS#7 (Java PKCS5Padding) → sortie propre

Copier la longueur d'IV d'AES (16 octets)

Le bloc DES fait 8 octets, son IV aussi. Coller une IV de 32 chiffres hex issue d'un code AES échoue au contrôle de longueur ; une IV de 8 chiffres hex est comblée de zéros et mal interprétée.

✗ Incorrect
IV 00000000000000000000000000000000 (32 chiffres hex) → erreur « l'IV doit faire 8 octets »
✓ Correct
IV 0000000000000000 (16 chiffres hex) → acceptée

Mauvaise IV en CBC : seuls les 8 premiers octets sont corrompus

Déchiffrer un texte multi-blocs avec une mauvaise IV ne provoque pas d'erreur — seuls les 8 premiers octets sont corrompus, le reste se déchiffre correctement (l'IV n'atteint que le premier bloc, et le contrôle du padding vit dans le dernier). Quand vous voyez « les premiers caractères sont illisibles, le reste est bon », vérifiez l'IV avant la clé ; sur un texte d'un seul bloc, en revanche, le padding casse et l'erreur bad decrypt est levée.

✗ Incorrect
Texte multi-blocs + mauvaise IV → 8 premiers octets illisibles, reste normal — interprété à tort comme « mauvaise clé »
✓ Correct
Changer uniquement l'IV (clé intacte) → le premier bloc se rétablit, l'IV était bien le problème

openssl enc -K tronque silencieusement les clés trop longues

-K ne garde que les octets dont il a besoin et affiche un avertissement d'une ligne que les scripts avalent. Quand l'autre partie dit « la clé, ce sont ces 48 chiffres hex » mais a en réalité chiffré avec les 16 premiers, déchiffrer avec la clé complète échoue.

✗ Incorrect
Shell : `-K <49 chiffres hex>` → "hex string is too long, ignoring excess" perdu dans le pipeline
✓ Correct
Utiliser la commande équivalente de cet outil pour générer un `-K` de longueur correcte, puis comparer les octets de clé avec l'autre partie

Le DES simple échoue sur OpenSSL 3 avec "unsupported"

Le provider par défaut d'OpenSSL 3 n'a pas de des-ecb/des-cbc ; l'exécuter nu lève digital envelope routines::unsupported. Ajoutez -provider legacy -provider default, ou utilisez des-ede3 avec K‖K‖K (algébriquement du DES simple).

✗ Incorrect
openssl enc -des-ecb -K … → Erreur : unsupported
✓ Correct
openssl enc -des-ecb -provider legacy -provider default -K … (ou des-ede3-ecb -K <K‖K‖K>)

Quand vous avez besoin du DES en ligne

Déboguer le chiffrement des messages d'un système historique
Chambres de compensation bancaires, calcul de MAC de passerelles POS et chiffrement d'anciennes interfaces ERP tournent encore en DES/3DES. Collez ici le message et la clé pour vérifier « la clé est-elle bonne, quel mode, quel padding » sans monter un environnement Java ou PHP.
Migrer du code historique Java / PHP / .NET
Comparez la sortie de Cipher.getInstance("DES/ECB/PKCS5Padding") ou de openssl_encrypt(..., 'des-ede3-cbc', ...) avec cet outil octet par octet avant de basculer. Les formes 2 clés/3 clés sont détectées d'après la longueur de clé : rien à deviner.
Audits de sécurité et enseignement
Démontrer la fuite de motifs d'ECB (blocs clairs égaux → blocs chiffrés égaux), vérifier la dégénérescence du 3DES (K1=K2=K3 se réduit au DES simple) et contrôler le vecteur FIPS 81 — le socle classique des rapports de pentest et des cours de cryptographie.
Générer des exemples de texte chiffré pour la documentation
Quand un wiki interne ou une doc d'API a besoin d'un exemple reproductible, calculez-le ici avec une clé et une IV fixes — les lecteurs peuvent le vérifier avec la commande OpenSSL équivalente, et aucune donnée de production ne circule.

DES / 3DES et modes de chiffrement par blocs expliqués

Bloc et clé
DES traite des blocs de 64 bits en 16 tours de Feistel, chacun avec une sous-clé de 48 bits dérivée de la clé maîtresse de 56 bits par les permutations de compression PC-1/PC-2 et des rotations programmées. Les huit S-boxes sont la seule source de non-linéarité ; leurs critères de conception n'ont jamais été publiés intégralement.
L'assemblage EDE du 3DES
C = E_K3(D_K2(E_K1(P))). Le déchiffrement central fait que K1=K2=K3 se réduit au DES simple — un objectif de compatibilité ascendante. La forme 2 clés a 2×56=112 bits de matériau de clé nominal, mais une force de sécurité effective d'environ 80 bits selon le NIST (SP 800-57 Part 1) ; la forme 3 clés est nominale à 168 bits pour une force de 112 bits (dépréciée).
ECB et CBC
ECB chiffre les blocs indépendamment — des blocs clairs égaux donnent des blocs chiffrés égaux, une fuite de motifs visible que les blocs de 8 octets rendent pire qu'en AES-ECB. CBC mélange le bloc chiffré précédent (l'IV pour le premier) au texte clair avant chiffrement, et était le choix dominant des systèmes bancaires de l'ère DES. Les deux modes produisent un texte chiffré multiple de 8 octets.
Padding : PKCS#7 / Zero / None
PKCS#7 ajoute n octets de valeur n pour combler ce qui manque (3 manquants → 03 03 03) et ajoute un bloc entier à un bloc plein — c'est le "PKCS5Padding" de Java pour le DES. Zero padding remplit avec des 0x00 et est destructif quand le texte clair se termine réellement par 0x00. None exige un multiple exact de 8.
Le legacy provider d'OpenSSL 3
OpenSSL 3 a déplacé le DES simple dans un legacy provider désactivé par défaut : la CLI a besoin de -provider legacy -provider default, et certaines builds (dont l'OpenSSL embarqué dans Node) s'en passent complètement. Le 3DES (des-ede/des-ede3) reste dans le provider par défaut. Le moteur pure-TS de cet outil n'est pas concerné.

Bien utiliser le DES (interopérabilité héritée)

N'utilisez jamais DES pour un nouveau système, sous aucune forme
Les 56 bits du DES simple se cassent par force brute ; les blocs de 64 bits portent la borne d'anniversaire Sweet32 (CVE-2016-2183), et le NIST plafonne un même faisceau de clés à ≈8 Mo (2²⁰ blocs) de texte clair ; 2 clés est Disallowed, le chiffrement 3 clés après 2023. Utilisez AES-256 pour tout projet nouveau. Cet outil existe pour lire et migrer en sécurité les systèmes historiques.
En interopérabilité héritée, l'identité octet pour octet d'abord
Avant de toucher un vieux système, reproduisez ici octet pour octet le texte chiffré des anciens paramètres, puis modifiez le code. Confirmez la longueur de clé, le mode, le padding et la provenance de l'IV (fixe vs aléatoire, en-tête vs hors bande) avant de changer d'algorithme.
Ne réutilisez pas les IV, même en systèmes historiques
Réutiliser une IV CBC sous la même clé expose la relation entre les premiers blocs de deux textes clairs. Si un protocole historique impose une IV fixe, inscrivez-le comme défaut dans la liste de migration — n'en faites pas une convention.
Gardez les clés hors du code source
Les systèmes de l'ère DES codent couramment les clés en clair dans le source ou la config. Lors d'un audit, placez « comment la clé est stockée » à côté de « quel algorithme » dans le rapport — dans la plupart des compromissions, c'était le premier le vrai trou.

FAQ sur le chiffrement/déchiffrement DES

Le déchiffrement DES échoue avec "bad decrypt" ou une erreur de padding — que vérifier ?
Le déchiffrement exige que chaque paramètre corresponde au côté chiffrement : les octets de la clé, la longueur de clé (8/16/24), le mode (ECB/CBC), l'IV, le padding, et le format du texte chiffré (hex ou Base64). Les deux pièges les plus fréquents : longueur de clé incohérente (une "clé DES" de 32 caractères hex fait 16 octets — c'est du 3DES 2 clés, pas du DES simple) et confusion de nom de padding (le PKCS5Padding de Java EST PKCS#7 pour le DES — ne choisissez pas None). Le panneau repliable à droite affiche une commande OpenSSL équivalente pour les réglages courants ; l'envoyer à l'autre partie est le moyen le plus rapide de trouver la divergence.
Quelle est la longueur d'une clé DES ? Et 3DES ?
DES simple : 64 bits nominaux (8 octets, 56 effectifs — un bit par octet est un bit de parité). Le 3DES existe en deux formes : 2 clés (16 octets, K1‖K2 avec K3=K1) et 3 clés (24 octets, K1‖K2‖K3). Le matériau de clé nominal est de 112/168 bits, mais la force de sécurité effective selon le NIST (SP 800-57 Part 1 Rev.5, tableau 2) n'est que d'environ 80 et 112 bits — et la forme 3 clés est elle aussi dépréciée. Cet outil déduit la forme du nombre d'octets ; tout ce qui n'est pas 8/16/24 lève une erreur — CryptoJS et openssl enc -K tronquent ou comblent en silence, ce qui est la première cause d'échecs d'interopérabilité.
Qu'est-ce que l'IV et quelle est sa longueur pour DES ?
L'IV est la valeur de 8 octets que CBC mélange au premier bloc ; ECB n'en utilise pas. Elle doit faire exactement 8 octets (16 chiffres hex ou 8 caractères ASCII). Attention : l'IV de DES fait 8 octets contre 16 pour AES — copier une longueur d'IV AES échoue immédiatement. Ne réutilisez jamais une IV avec la même clé.
À quoi correspond le DES/ECB/PKCS5Padding de Java dans cet outil ?
Mode ECB + padding PKCS#7. Dans le JCE, "PKCS5Padding" pour le DES exécute l'algorithme générique PKCS#7 — PKCS#5 n'a jamais défini de padding que pour des blocs de 8 octets, justement ceux du DES. La sortie de Cipher.getInstance("DES/ECB/PKCS5Padding") en Java se déchiffre ici avec ECB + PKCS#7 et une clé DES simple de 8 octets. ⚠️ Le 3DES de Java (DESede) n'accepte que des clés de 24 octets — pour la forme 2 clés, vous devez vous-même étendre K1‖K2 en K1‖K2‖K1.
Comment les noms d'algorithmes des-ede3 de PHP correspondent-ils ?
PHP emprunte les noms d'OpenSSL : des-ede3-cbc est 3DES 3 clés + CBC, des-ede3-ecb est 3 clés + ECB ; des-ede-cbc est la forme 2 clés. Une clé de 24 octets sélectionne 3 clés, 16 octets sélectionne 2 clés.
Que sont les bits de parité d'une clé DES ? Sont-ils vérifiés ?
Le bit de poids faible de chaque octet de clé est défini comme bit de parité, si bien que la vraie clé de 56 bits tient dans 64 bits. FIPS 46-3 n'exige pas de la vérifier — OpenSSL, Java et cet outil l'ignorent ; 8 octets quelconques fonctionnent, et modifier les bits de parité ne change pas le texte chiffré. .NET fait exception : il normalise d'abord la parité puis consulte une table de clés faibles, si bien que les clés nulles et autres clés faibles sont rejetées par .NET alors que toutes les autres bibliothèques chiffrent sans broncher — un piège qui ne se déclenche qu'en migrant des clés de test de Java/OpenSSL vers .NET.
Que se passe-t-il en 3DES quand K1 = K2 ?
En 3DES 2 clés, K3 vaut toujours K1 ; si de surcroît K1 = K2, toute la chaîne EDE se réduit au DES simple : E_K(D_K(E_K(P))) = E_K(P). Il en va de même quand les trois composants de 8 octets d'une clé de 24 octets sont identiques. Cet outil chiffre quand même (l'interopérabilité d'abord), mais la force réelle est alors celle du DES simple, 56 bits, pas du 3DES.
DES est-il encore sûr ?
Non — il ne sert qu'à l'interopérabilité avec l'existant. Le NIST a retiré le DES simple le 2005-05-19 (une clé de 56 bits se casse par force brute ; le Deep Crack de l'EFF l'a fait en 56 heures en 1998, 22 heures l'année suivante avec distributed.net). La SP 800-131A Rev.2 classe le chiffrement TDEA 2 clés comme Disallowed, et le chiffrement 3 clés comme Disallowed après le 2023-12-31 (le déchiffrement reste « Legacy use », conservé uniquement pour lire des données historiques) ; la SP 800-67 elle-même a été retirée le 2024-01-01. Les petits blocs de 64 bits portent aussi la borne d'anniversaire de classe Sweet32 (CVE-2016-2183) — le NIST plafonne un même faisceau de clés à 2²⁰ blocs (≈8 Mo) de texte clair. Utilisez AES-256 pour tout projet nouveau. Cet outil existe parce que les chambres de compensation bancaires, les passerelles de paiement et les vieux systèmes Java/.NET font encore tourner des messages de l'ère DES — les corriger commence par pouvoir les lire.
Pourquoi mon résultat 3DES diffère-t-il de Java/PHP ?
Vérifiez par ordre de probabilité : ① longueur de clé — la « clé DES de 32 hex » de l'autre côté fait 16 octets (3DES 2 clés), vous avez déchiffré en DES simple ; ② mode — le "DES" nu de Java fait ECB par défaut, les noms d'OpenSSL sans suffixe de mode, des-ede3/des-ede, sont ECB (l'alias CBC est -des3) ; le openssl_encrypt de PHP exige un nom d'algorithme explicite — la confusion vient de ce qu'il sort du texte Base64 et non des octets bruts ; ③ padding — le vieux mcrypt PHP utilisait souvent Zero, le JCE utilise PKCS#5/#7 ; ④ encodage — hex vs Base64, et la casse ; ⑤ le piège du mot de passe CryptoJS — passer une chaîne comme « clé » déclenche une dérivation de clé (MD5 + sel aléatoire, sortie préfixée Salted__, différente à chaque fois), ce qui n'est pas du tout la clé brute — première cause de « même code, résultat différent à chaque exécution ». Cet outil permet de basculer chacun de ces points ; la commande OpenSSL équivalente à droite peut être envoyée à l'autre partie pour reproduire.
ECB ou CBC — lequel choisir ?
Ce que le système avec lequel vous dialoguez exige — l'interopérabilité avec l'existant ne se discute pas. Si vous avez vraiment le choix, toujours CBC avec une IV aléatoire : ECB chiffre des blocs de texte clair égaux en blocs chiffrés égaux, et les petits blocs de 8 octets du DES laissent voir les motifs encore plus nettement qu'en AES-ECB. Les protocoles bancaires de l'ère DES utilisent les deux ; consultez d'abord la spécification du protocole.
Cela fonctionne-t-il hors ligne ? Mes données sont-elles envoyées ?
Tout le calcul se fait dans votre navigateur (TypeScript pur, zéro dépendance, zéro requête réseau) ; les clés et le texte clair ne quittent jamais l'appareil. Une fois la page chargée, vous pouvez passer hors ligne et continuer à travailler. C'est la seule forme acceptable pour un outil qui manipule des clés.
3DES 2 clés ou 3 clés — lequel est le plus courant dans les systèmes historiques ?
2 clés (16 octets) est le plus courant : les banques et l'industrie du paiement ont déployé du matériel à clés de 16 octets pour des raisons de compatibilité, et la SP 800-67 lui a gardé une date d'obsolescence distincte (antérieure). Une « clé 3DES » de 32 caractères hex est donc très probablement de la forme 2 clés. Cet outil détecte automatiquement la forme d'après le nombre d'octets.

Outil de déchiffrement AES — compatible OpenSSL et CryptoJS

Outils de sécurité

Déchiffrez de l'AES en ligne — GCM/CBC/CTR, phrase secrète ou clé brute, détection automatique du format OpenSSL et CryptoJS « U2FsdGVkX1 ». 100 % dans le navigateur, les clés ne quittent jamais la page.

Outil de chiffrement AES — GCM, CBC et CTR

Outils de sécurité

Chiffrement AES en ligne gratuit — AES-128/192/256, GCM/CBC/CTR, phrase secrète (PBKDF2) ou clé brute. 100 % dans votre navigateur ; rien n'est envoyé.

Générateur et vérificateur de hachage Bcrypt

Outils de sécurité

Générez et vérifiez des hachages bcrypt en ligne — coût ajustable, préfixes $2b$/$2a$/$2y$. 100 % dans votre navigateur ; mot de passe jamais envoyé.

Calculateur de somme de contrôle CRC

Outils de sécurité

Collez du texte ou de l'hexadécimal : les 63 variantes CRC-8, CRC-16 et CRC-32 d'un coup. Somme de contrôle impossible à reproduire ? Saisissez-la, l'outil nomme la variante : MODBUS, CCITT-FALSE, XMODEM. Tout reste local.

Générateur HMAC & vérificateur de signature

Outils de sécurité

Générateur et vérificateur HMAC en ligne gratuit. Calculez HMAC-SHA256/SHA1/SHA384/SHA512 avec des clés en texte, hex ou Base64 et une sortie Hex/Base64/Base64URL. 100 % dans votre navigateur — les clés ne quittent jamais la page.

Décodeur JWT

Outils de sécurité

Décodez des jetons JWT en ligne avec notre décodeur JWT gratuit. Inspectez en-tête, charge utile, signature, expiration et revendications. 100 % navigateur — votre jeton ne quitte jamais votre appareil. Sans inscription ni suivi.