ciphey安装使用方法

Ciphey是一款全自动的解密/解码/破解工具,专为无需提前知晓加密类型的场景设计——输入加密文本,工具可自动分析并输出解密后的明文,无需用户具备深厚的密码学知识,适合快速验证密文、CTF竞赛等场景使用。

github项目:https://github.com/bee-san/Ciphey

文档:https://github.com/bee-san/Ciphey/wiki

0x01 安装ciphey

python3 -m pip install ciphey --upgrade

0x02 使用ciphey

ciphey -t "cHNldWRvIGNhdA=="

# 得到以下
Possible plaintext: 'pseudo cat' (y/N): y
╭────────────────────────────────╮
│ Formats used:                  │
│    base64                      │
│    utf8Plaintext: "pseudo cat" │
╰────────────────────────────────╯

然后不要对其太有期待,如果小变形下,基本就很难猜出。

# 尝试只去掉空格的pseudocat
ciphey -t "cHNldWRvY2F0"

# 就会得到以下
Possible plaintext: 'B^eA j\x16o&' (y/N): n
🌑  Thinking...

# 尝试列出各种可能
ciphey -v -- "cHNldWRvY2F0"
2026-01-25 09:53:35.859 | DEBUG    | ciphey.iface._config:update_log_level:174 - Verbosity set to level 1 (DEBUG)
2026-01-25 09:53:35.859 | DEBUG    | ciphey.ciphey:main:199 - Opened config file at /root/.config/ciphey/config.yml
2026-01-25 09:53:35.859 | DEBUG    | ciphey.iface._config:load_modules:184 - Loaded modules ['any', 'brandon', 'jsonchecker', 'humanchecker', 'regex', 'regexlist', 'what', 'ezcheck', 'xandy', 'affine', 'ascii_shift', 'caesar', 'rot47', 'soundex', 'vigenere', 'xorsingle', 'xorcrypt', 'atbash', 'base58_bitcoin', 'base58_ripple', 'base62', 'base69', 'base91', 'base16', 'base32', 'base64', 'base85', 'ascii85', 'baudot', 'binary', 'braille', 'brainfuck', 'decimal', 'galactic', 'gzip', 'hexadecimal', 'leetspeak', 'morse_code', 'multi_tap', 'octal', 'reverse', 'tap_code', 'utf8', 'url', 'uuencode', 'cipheydists', 'json', 'csv', 'ausearch']
2026-01-25 09:53:35.911 | DEBUG    | ciphey.iface._config:update_log_level:174 - Verbosity set to level 1 (DEBUG)
^C2026-01-25 09:53:36.257 | DEBUG    | ciphey.basemods.Decoders.bases:_dispatch:19 - base64 successful, returning b'pseudocat'
2026-01-25 09:53:36.257 | DEBUG    | ciphey.basemods.Decoders.unicode:decode:19 - UTF-8 successful, returning 'pseudocat'
2026-01-25 09:53:36.588 | DEBUG    | ciphey.basemods.Decoders.bases:_dispatch:19 - base85 successful, returning b'\xacv\x1c\x92\xaf\xb9\xe1'
……

# 其实这里前面就有得到'pseudocat',但是它可能认为不像是个单词,就没给返回询问。

在这里希望以后能变得更好更智能。