Outil gratuit · 100 % navigateur
Forge
Ajoutez des opérations à la recette, elles s’appliquent de haut en bas sur l’entrée. Le traitement se fait dans votre navigateur et la recette se partage par lien.
Encodage
Chiffrement
Hachage
Compression
Texte
Données
Extraction
Aucune opération ne correspond.
RRecette
Ajoutez une opération depuis la colonne de gauche, ou choisissez une recette ci-dessus.
Encodage, chiffrement et hachage
Ces trois transformations répondent à des besoins différents. Les confondre mène à des erreurs fréquentes en audit, comme considérer qu’un jeton en Base64 est protégé.
Encodage
L’encodage adapte des données à un canal de transport : Base64 pour faire passer du binaire dans du texte, encodage URL pour un paramètre d’adresse, hexadécimal pour afficher des octets. Il se réverse entièrement sans secret, n’importe qui peut décoder une valeur encodée. Un cookie ou un jeton qui semble illisible n’est souvent que du Base64.
Chiffrement
Le chiffrement rend une donnée illisible sans la clé. Le XOR disponible ici montre le principe, mais un XOR à clé courte se casse rapidement par analyse de fréquence, ou dès que la clé est réutilisée. Pour protéger des données, on utilise AES-GCM ou ChaCha20-Poly1305 avec une gestion de clés sérieuse, ce qui dépasse le rôle d’un outil d’encodage.
Hachage
Le hachage produit une empreinte de taille fixe et ne se réverse pas. Pour vérifier un SHA-256, on recalcule l’empreinte d’un candidat et on compare. MD5 et SHA-1 restent utilisables comme sommes de contrôle, mais des collisions pratiques existent pour les deux, ils ne conviennent donc à aucun usage de sécurité. Pour stocker des mots de passe, on utilise une fonction dédiée comme bcrypt ou Argon2, jamais un hash rapide.
Usages en CTF et en test d’intrusion
Forge sert surtout aux manipulations répétitives : décoder un blob Base64 puis le décompresser
(From Base64 puis Gunzip), lire les claims d’un JWT et repérer un
alg: none, retirer plusieurs couches d’encodage URL ajoutées pour passer un WAF, ou
retrouver un texte clair derrière un XOR dont la clé est connue. Comme chaque étape travaille sur des
octets, les recettes qui mêlent binaire et texte donnent un résultat exact.
Traitement local
Les données traitées restent dans votre navigateur. Les hachages SHA utilisent
crypto.subtle, la compression utilise CompressionStream et
DecompressionStream, MD5 et les autres opérations sont écrits en JavaScript. Aucune requête
réseau n’est émise pendant le traitement. Un lien de partage contient la liste des étapes et l’entrée,
encodées dans le fragment de l’URL (la partie après #), que le navigateur n’envoie pas au serveur.
?Questions fréquentes
Mes données sont-elles envoyées quelque part ?
Non, les opérations (Base64, hex, XOR, gzip, hachages) s’exécutent dans votre navigateur avec les API natives WebCrypto et CompressionStream. Aucune donnée n’est transmise. Un lien partagé contient la recette encodée dans l’URL, et c’est le navigateur de la personne qui l’ouvre qui la décode.
Quelle différence entre encodage, chiffrement et hachage ?
L’encodage (Base64, hex, URL) se réverse sans secret et sert à transporter des données. Le chiffrement se réverse avec une clé, le XOR en est la forme la plus simple et se casse facilement. Le hachage (MD5, SHA-256) produit une empreinte de taille fixe et irréversible : pour vérifier une valeur, on recalcule son empreinte et on compare.
Pourquoi une étape affiche une erreur ?
Chaque opération valide son entrée. From Base64 sur un texte qui n’est pas du Base64, Gunzip sur des octets non compressés ou JSON Beautify sur un JSON invalide échouent. Forge indique le numéro de l’étape fautive et affiche la sortie produite par l’étape précédente.
Forge gère-t-il l’UTF-8 et les données binaires ?
Oui, les opérations manipulent des octets (Uint8Array) et la conversion entre texte et octets se fait en UTF-8. Les caractères accentués sont conservés, et les chaînes binaires comme Gzip puis To Base64 se composent sans corruption. Quand la sortie n’est pas du texte lisible, elle s’affiche en hexadécimal.
À quoi sert le bouton Détecter ?
Il examine l’entrée et propose une recette probable : octets 1f 8b pour du Gzip, trois segments commençant par ey pour un JWT, séquences %XX pour de l’encodage URL, ou un alphabet Base64 ou hexadécimal cohérent. La suggestion reste à vérifier.
+Autres outils
- >_Reverse Shell Generator
Payloads de reverse shell, listeners et upgrade TTY.
- {·}JWT Inspector
Décodez un JWT, lisez ses claims, repérez les faiblesses.
- #Hash Lab
Calculez des empreintes et identifiez un format de hash.