一、base家族编码
核心特征:通过等号与字符类型快速定位
-
base64
特点:密文尾部常含1-2个等号(如YWRtaW4=, 明文过短时无等号)
原理:将3字节转为4个6位字节,不足补零后=填充,如YWRtaW4tcm9vdA==(admin-root) -
base32
特点:等号数量≥3个,密文长度常为10的倍数。
如GEZDGNBVGY3TQOJQGE====== -
base16
特点:无等号,由数字和大写字母组成且数字占比高(如61646D696E→admin) -
base58
特点:无等号,排除0、O、I、i及+/符号(比特币常用,如6tmHCZvhgfNjQu) -
base85/base100
base85:含@#等特殊符号,极少出现等号。
base100:密文为Emoji表情(如👘👛👤👠👥)
二、ROT密码
核心逻辑:按固定位数偏移ASCII值
- ROT5:仅处理数字,当前数字+5循环移位(如0→5,1→6,123→678)
- ROT13:仅处理字母,字母+13位(A→N,B→O,ABC→NOP)
- ROT18:数字按ROT5、字母按ROT13组合处理(如A1B2→N6O7)
- ROT47:处理数字/字母/符号(ASCII值+47,如z→K,0→_)
三、凯撒密码与变种
-
标准凯撒
原理:字母按秘钥位移(如秘钥3时A→D)
特征:flag格式前常见4字母(如flag{...}),SL格式前2字母。 -
变异凯撒
破解:需脚本穷举位移量ciphertext = 'afZ_r9VYfScOeO_UL^RWUc' for j in range(26): print(f'秘钥{j}:' , ''.join(chr(ord(i)+j) for i in ciphertext))
四、栅栏密码
-
普通栅栏
原理:将明文分N组,按组序取字符重组123456789abc分3组→15926a37b48c
-
W 型栅栏
原理:按W形状排列明文,按列取字符123456789分3栏→159246837
五、维吉尼亚密码
特征:需字母密钥,如密文fmcg{iglmq_wptd_123},当凯撒密码无法解密时优先考虑,密钥需通过频率分析等方法破解。
六、特殊密码类型与解码工具
密码类型 | 特征 |
---|---|
摩斯密码 | 由.-组成(如.-.. --- ...-) |
培根密码 | 仅含大写AB(如ABABAB) |
与佛论禅 | 佛语(如南无阿弥陀佛) |
百家姓密码 | 百家姓字符串(如赵钱孙李) |
Uuencode | 二进制转文本编码 |
七、补充密码类型与特征
-
MD5哈希
特征:32位16进制字符串
79cfeb94595de33b3326c06ab1c7dbda,不可逆,常用于文件校验。 -
Rabbit密码
特征:以U2FsdGVkX1开头,含=+/符号(如U2FsdGVkX18a...)。 -
JS相关编码
JJEncode:含大量$、_符号及自定义变量。
Jother/JSFuck:以!+[]()等符号组合编码,可通过F12解密。
Brainfuck:有> < + - . , [ ]八种符号,有大量+号 -
Quoted-printable
特征:等号后跟两位十六进制数(如=E7=94=A8对应汉字“用”)。 -
ook密码
特征:有大量ook
八、实用破解流程建议
-
观察等号
有等号:优先base64/base32(等号≥3个为base32)
无等号:检查字符组成数字+大写字母→base16,大小写混合→base58,特殊符号→base85 -
字符类型判断
纯数字→ROT5,纯字母→ROT13
数字+字母→ROT18,含符号→ROT47 -
冷门密码处理
base92、Rabbit等需专用工具包,JS类编码可通过在线平台或F12解密。