████████╗███████╗██╗ ██╗████████╗ ██████╗ ███████╗ ██████╗██████╗ ██╗ ██╗██████╗ ████████╗
██╔══╝██╔════╝╚██╗██╔╝╚══██╔══╝ ██╔══██╗██╔════╝██╔════╝██╔══██╗╚██╗ ██╔╝██╔══██╗╚══██╔══╝
██║ █████╗ ╚███╔╝ ██║ ██║ ██║█████╗ ██║ ██████╔╝ ╚████╔╝ ██████╔╝ ██║
██║ ██╔══╝ ██╔██╗ ██║ ██║ ██║██╔══╝ ██║ ██╔══██╗ ╚██╔╝ ██╔═══╝ ██║
██║ ███████╗██╔╝ ██╗ ██║ ██████╔╝███████╗╚██████╗██║ ██║ ██║ ██║ ██║
╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝
"The griots encoded history in rhythm. We encode it in bits."
Text-Decryption is a CyberChef-style Python toolkit for decoding, decrypting, and analyzing encoded text — built by a developer from Ghana 🇬🇭, engineered for CTF warriors, forensics analysts, and curious minds everywhere.
No cloud. No API keys. No nonsense. Just raw cryptographic power running locally on your machine.
| Encoding | Status |
|---|---|
| Base64 | ✅ |
| Hexadecimal | ✅ |
| Binary | ✅ |
| ROT13 | ✅ |
| URL Encoding | ✅ |
| Morse Code | ✅ |
| Caesar Cipher (all 25 shifts) | ✅ |
| XOR (keys 1–10) | ✅ |
| Hash generation (MD5/SHA1/SHA256/SHA512) | ✅ |
| Cipher | Status |
|---|---|
| Vigenère | ✅ |
| Playfair | ✅ |
| Atbash | ✅ |
| Beaufort | ✅ |
| Rail Fence (zigzag) | ✅ |
| Columnar Transposition | ✅ |
| Four-Square | ✅ |
| Running Key | ✅ |
| Polybius Square | ✅ |
| Bacon | ✅ |
| Reverse | ✅ |
| Feature | Status |
|---|---|
| Hash type identification | ✅ |
| Full hash generation (MD5 → BLAKE2) | ✅ |
| Wordlist / dictionary attack | ✅ |
| Constant-time comparison (anti-timing attack) | ✅ |
# Clone the repo
git clone https://github.com/NeonTechno/Text-Decryption.git
cd Text-Decryption
# No dependencies needed — pure Python stdlib
python Decryptor.pyfrom Decryptor import auto_decode
results = auto_decode("SGVsbG8gZnJvbSBBY2NyYSE=")
print(results["Base64"]) # → Hello from Accra!from ciphers import from_vigenere, from_playfair, from_rail_fence
print(from_vigenere("Rijvs Uivjn", "key")) # → Hello World
print(from_rail_fence("Holelwrd ol!", 3)) # → Hello Worldfrom hash_utils import identify_hash, wordlist_attack
print(identify_hash("5d41402abc4b2a76b9719d911017c592"))
# → ['MD5']
result = wordlist_attack("5d41402abc4b2a76b9719d911017c592", ["hello", "world"], "md5")
print(result) # → helloText-Decryption/
│
├── Decryptor.py # 🔍 Core auto-decode engine
├── ciphers.py # 🏛️ Classical & historical ciphers
├── hash_utils.py # 🔢 Hash identification & cracking
├── utils.py # 🛠️ Extra cipher utilities
└── README.md # 📖 You are here
Africa is home to some of the world's oldest cryptographic traditions — from ancient Egyptian hieroglyphic substitution to the coded drum languages of West Africa that carried messages across hundreds of miles. This project is a digital continuation of that legacy.
We're not just using technology. We're building it.
- Unified
main.pyCLI with interactive menu - Frequency analysis engine (for cracking unknown substitutions)
- AES / RSA decryption support
- Web UI (Flask/FastAPI)
- CTF auto-solver mode
NeonTechno (Nkrumah Joel) 🎓 BSc Computer Science — University of Cape Coast, Ghana 🔗 GitHub @NeonTechno
"Sankofa — go back and fetch it." 🦅
The past holds the keys. We just build the decryptors.