// the find
bee-san/Ciphey
⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡
Ciphey is an automatic decoding tool that identifies and reverses unknown encodings, ciphers, and hashes without you specifying what they are. It's the Rust rewrite of the original Python Ciphey, aimed at CTF players and anyone who receives mystery-encoded strings. The A* search over 16+ decoders handles multi-layer encodings like base64→rot13→hex without user intervention.
The A* search with dynamic decoder prioritization based on historical success rates is genuinely clever — it learns which decoder pairs are common and front-loads them, so the typical CTF case is fast. The library-first design is the right call: the Discord bot and CLI are thin wrappers, meaning the core is actually testable and embeddable. 120+ tests plus 15,000 CTF-sourced test cases is serious QA investment for a tool like this — most similar tools have almost none. The configurable sensitivity for plaintext detection solves a real problem: classical ciphers output text that looks like English but isn't, and treating that the same as base64 output causes false positives.
Only 16 decoders in the Rust rewrite versus ~50 in the Python original is a meaningful gap, and the README acknowledges it without a clear timeline for closing it. The optional BERT-based enhanced detection requiring a 500MB Hugging Face model download is a significant footgun for a CLI tool — most users won't bother and will quietly run with the weaker detector. The primary usage path being a Discord bot is a strange choice to lead with for a developer tool; the cargo install path is buried second. Hash cracking support appears to be a planned feature (there's a hash_crack_decoder_plan.md) but isn't implemented, which is a notable omission for a tool that lists 'crack hashes' in its own description.