
⚡ Déchiffrer automatiquement des cryptages sans connaître la clé ou le chiffrement, décoder des encodages et craquer des hachages ⚡
Collez un texte qui a été encodé ou chiffré. Ciphey détermine comment et vous remet le texte en clair.
Pas de clé, pas de nom de chiffrement, pas d'indices. Base64, hex, Caesar/ROT13, Vigenère, code Morse et 19 autres, sur plusieurs couches de profondeur.
Installer ·
Démarrage rapide ·
Fonctionnalités ·
Bibliothèque ·
MCP ·
Docs ·
Discord
▶ Regarder la visite d'une minute (MP4, 61 s)
cargo install ciphey
Des binaires précompilés pour Linux (x86_64), macOS (Intel et Apple silicon) et Windows (x86_64) sont disponibles sur la page des releases, chacun accompagné d'une somme de contrôle .sha256.
Pour compiler depuis les sources, vous avez besoin d'une toolchain Rust :
git clone https://github.com/bee-san/Ciphey
cd Ciphey
cargo build --release # the binary is target/release/ciphey
Ou ignorez l'installation : rejoignez le serveur Discord, allez dans #bots et tapez $ciphey <votre texte> ($help liste les commandes).
$ ciphey -t 'aGVsbG8gdGhlcmUgZ2VuZXJhbA=='
🕵️ I think the plaintext is Words.
Possible plaintext: 'hello there general' (y/N):
y
🥳 ciphey has decoded 64 times.
The plaintext is:
hello there general
the decoder used is Base64
La première fois que vous l'exécutez, une courte configuration vous demande un thème de couleurs, la façon dont vous souhaitez que les résultats soient affichés et si vous voulez utiliser une liste de mots, puis enregistre vos réponses dans ~/.ciphey/config.toml.
ciphey -t 'NTA3NjYzNzU3MjZjMjA3NjY2MjA2OTcyNjU2YzIwNzM2ZTY2Njc=' # ROT13 → hex → Base64, nothing else needed
ciphey -f secret.txt # read the input from a file
ciphey -d -t '...' # no y/N prompt: take the first plaintext found (handy in scripts)
ciphey -c 15 -t '...' # keep searching for up to 15 seconds (the default is 5)
ciphey -r 'flag\{' -t '...' # only accept plaintext that matches a regex (a crib)
ciphey --wordlist words.txt -t '...' # also accept any exact match from a wordlist
ciphey --help liste toutes les options.
▶ Regarder le clip (16 s)
Trois couches (ROT13, puis hex, puis Base64) sont retirées en 0,16 s, mesuré par la commande time de bash dans un enregistrement réel. Voici la même comparaison pour davantage d'entrées, face à Python Ciphey 5.14, la version que Ciphey remplace :
| Entrée | Ciphey | Python Ciphey 5.14 |
|---|---|---|
| Base64 | 0,11 s | 0,92 s |
| Hex → Base64 | 0,14 s | 1,02 s |
| ROT13 → Hex → Base64 | 0,19 s | aucune réponse en 60 s |
| URL → Base64 → Hex | 0,24 s | 1,15 s |
| Base64 ×4 | 0,41 s | 0,78 s |
| Hex → Base32 → Base64 → Hex | 0,54 s | 0,72 s, mauvaise réponse |
| ROT13 → Hex → Base64 → Base32 | 1,15 s | aucune réponse en 60 s |
Médiane du temps réel de 10 exécutions par entrée (Python Ciphey : 3) sur une machine Linux partagée à 16 CPU, Ciphey à 47bd16d6 avec l'invite y/N désactivée et un $HOME neuf à chaque exécution pour que son cache ne puisse pas aider. Chaque exécution était plafonnée à 60 s. Le script et les chiffres bruts se trouvent dans media/tui-video/bench sur la branche media/readme-videos.
Là où les deux obtiennent la bonne réponse, Ciphey est de 1,9 à 8,6 fois plus rapide. D'où vient cette vitesse ?
~/.ciphey/database.sqlite, si bien que la même entrée une seconde fois revient en quelques millisecondes.Ciphey n'a pas besoin qu'on lui dise ce qu'il examine. Il explore des chaînes de décodeurs (du Base64 dans de l'hex dans du ROT13, quatre couches de Base64, etc.) et s'arrête au premier candidat qui ressemble à du texte en clair. Par défaut, il vous montre ce candidat et demande confirmation avant de l'accepter (-d désactive cela). Le clip en haut de cette page montre un décodage à quatre couches.
Il y a aussi un minuteur : si Ciphey n'a rien trouvé après 5 secondes, il s'arrête et le signale (-c modifie la limite).
Il connaît 24 décodeurs et casseurs :
| Type | Décodeurs |
|---|---|
| Encodages Base | Base64 (standard et URL-safe), Base32, Base58 (Bitcoin, Flickr, Monero, Ripple), Base91, Base65536, Z85 |
| Autres encodages | Hexadécimal, binaire, URL (percent-encoding), code Morse, Braille, A1Z26, Citrix CTX1 |
| Chiffrements | César (y compris ROT13), ROT47, Atbash, Vigenère (il détermine la clé lui-même), rail fence, texte inversé |
| Curiosités | Brainfuck (il exécute le programme), Morse ou binaire écrit avec d'autres symboles |
D'autres arrivent : #1030 suit 109 décodeurs qui ne sont pas encore intégrés.