Saisissez le texte et une phrase de passe pour le chiffrer. Pour le retrouver, collez un résultat compatible et utilisez la même phrase de passe.
Fonctionne localement dans votre navigateurUne zone de texte et un champ de phrase de passe : Chiffrer transforme le texte clair en un texte chiffré AES qui commence par U2FsdGVkX1, et Déchiffrer relit ce texte chiffré en UTF-8. Tout se passe dans la page : l'aller-retour fonctionne même sans réseau.
La clé n'est stockée nulle part. Elle est dérivée de la phrase de passe et d'un sel aléatoire à chaque exécution, ce qui explique que le même texte avec la même phrase de passe donne une chaîne différente chaque fois.
La sortie est du Base64 dont les premiers octets décodent Salted__, suivis de huit octets de sel aléatoire puis du texte chiffré. La clé et l'IV sont dérivés de la phrase de passe et de ce sel par EVP_BytesToKey avec MD5 — le schéma qu'utilise openssl enc pour le chiffrement par phrase de passe.
Comme le sel est nouveau à chaque exécution, la même phrase donne une chaîne différente chaque fois, et les deux redonnent le même texte. Vérifié dans les deux sens : openssl lit la sortie de cette page, et cette page lit la sortie de openssl enc -aes-256-cbc -md md5.
L'algorithme est AES-256-CBC et le conteneur ne porte ni signature ni étiquette d'authentification. Une phrase de passe erronée, une chaîne tronquée et un octet modifié aboutissent au même message, et un texte chiffré modifié peut ressortir en texte illisible : sur un test de six modifications aléatoires d'un caractère, cinq ont échoué et une a renvoyé des données incohérentes sans prévenir.
La dérivation est une seule passe de MD5 sur la phrase de passe, sans le facteur de travail qu'apportent PBKDF2 ou Argon2. La phrase de passe est donc le point faible : cette page sert à reproduire et à inspecter des données AES existantes, pas à protéger de nouveaux secrets.
Du texte en entrée, du texte en sortie : les fichiers, les données binaires et les entrées hexadécimales ne sont pas traités ici. Un texte chiffré n'est déchiffré que s'il s'agit de ce conteneur salé par phrase de passe en mode CBC ; une sortie avec -nosalt, avec -K et -iv explicites, avec un autre mode comme ECB ou provenant d'une autre bibliothèque échoue avec le même message.
200 Ko de texte sont chiffrés en une quinzaine de millisecondes dans Chrome ; au-delà de quelques mégaoctets, un outil en ligne de commande local est plus adapté.