搜集了网上常见的以及自己做题遇到的密码。
basecrack-4.0
Base编码分析工具 https://github.com/mufeedvh/basecrack
pip3 install -r requirements.txt
python basecrack.py
python basecrack.py --magic -f encode.txt
base64
ASCII 码字符占 8 位二进制,而 Base64 占 6 位,取最小公倍数即为 24,即可以用 4 个 base64 字符去表示 3 个 ASCII 码字符。一个字节 8bit 存在 256 个状态,而一个 Base64 字符只有 64 个状态。 人们于是规定,用每 4 个 Base64 字符去表示 3 个二进制字节,因为:64 * 64 * 64 * 64 = 256 * 256 * 256。 因为,Base64 将三个字节转化成四个字节,所以 Base64 编码后的文本长度,比原始文本长度多 4/3≈1.33 倍。
选出 64 个字符——大写字母 A-Z、小写字母 a-z、数字 0-9、符号 “+”、“/”(再加上作为垫字的 “=”,实际上是 65 个字符,垫字是当生成的 Base64 字符串的个数不是 4 的倍数时,添加在尾部的字符),作为一个基本字符集。然后,其他所有符号都转换成这个字符集中的字符。
一般情况下密文尾部都会有两个等号,明文很少的时候则没有
YWRtaW4tcm9vdA==
Y3liZXJwZWFjZXtXZWxjb21lX3RvX25ld19Xb3JsZCF9
cyberpeace{Welcome_to_new_World!}
工具:hackbar、https://www.toolhelper.cn/EncodeDecode/Base64
base64 URLSafe
base64中+/会被url转义,用-代替
ZmxhZ3t-dXJsfnNhZmV-ZW5jb2RlfQ==
base32
Base32编码是使用32个可打印字符(字母A-Z和数字2-7)对任意字节数据进行编码的方案,编码后的字符串不用区分大小写并排除了容易混淆的字符,可以方便地由人类使用并由计算机处理。每八组五个比特位按表转换为字符,不够则填充0,同时填充=
他的特点是明文超过十个后面就会有很多等号
GEZDGNBVGY3TQOJQGE======
工具:https://ctf.bugku.com/tool/base32
base16
它的特点是没有等号并且数字要多于字母。
使用0-9A-F十六个字符对原文进行编码,码表0123456789ABCDEF
61646D696E
base58
它最大的特点是没有等号,相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+“和”/"符号。
6tmHCZvhgfNjQu
base85
特点是奇怪的字符比较多,但是很难出现等号
@:X4hDWe0rkE(G[OdP4CT]N#
base92
编码字符:〜!#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_abcdefghijklmnopqrstuvwxyz{|}
base100
特点就是一堆Emoji表情
Caesar
凯撒密码是一种替换加密的技术, 明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D, B变成E,以此类推。
oknqdbqmoq{kag_tmhq_xqmdzqp_omqemd_qzodkbfuaz}
cyberpeace{you_have_learned_caesar_encryption}
工具:https://www.lddgo.net/encrypt/caesar-cipher
Bacon
培根密码加密规则,将明文中的每个字母,转换成一组五个英文字母(AB组合),即可得到密文。
ABBABAABBAAAAABABABAABABBAAAAABAABBAAABAABBBABBAABABBABABAAABABBBAABAABABABBBAABBABAA
工具:https://www.metools.info/code/bacon193.html
有两种不同的转换规则,一种解不开时可以尝试另一种
Morse
摩尔斯电码也被称作摩斯密码,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。摩尔斯电码只使用零和一两种状态的二进制代码, 它的代码包括五种:短促的点信号“・”,保持一定时间的长信号“—”,表示点和划之间的停顿、每个词之间中等的停顿,以及句子之间长的停顿。
11 111 010 000 0 1010 111 100 0 00 000 000 111 00 10 1 0 010 0 000 1 00 10 110
MORSECODEISSOINTERESTING
工具:https://www.lddgo.net/encrypt/morse
ASCII
ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统。至今为止共定义了128个字符,其中33个字符无法显示。
102 108 97 103 123 97 115 99 105 105 95 97 115 99 105 105 95 101 110 99 111 100 101 125
Quoted-printable
使用可打印的ASCII字符表示各种编码格式下的字符。MIME content transfer encoding,用于email
使用=开头的转义字符,一般限制行宽为76
flag{=E4=B8=AD=E6=96=87=E7=BC=96=E7=A0=81}
URL
URL编码又称为“百分比编码”,是一种用统一资源标识符(URI)编码信息的机制。
%66%6c%61%67%7b%75%72%6c%5f%75%72%6c%5f%75%72%6c%65%6e%63%6f%64%65%7d
Unicode
统一码(Unicode),也叫万国码、单一码,由统一码联盟开发,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。
\u65b0\u4f5b\u66f0\uff1a\u8af8\u96b8\u54c9\u50e7\u964d\u543d\u8af8\u9640\u6469\u96b8\u50e7\u7f3d
工具:https://www.mklab.cn/utils/unicode
佛曰
新佛曰:諸隸哉僧降吽諸陀摩隸僧缽薩咤耨諸隸慧塞色尊哉迦諦空所降我念隸祗諦念哉陀嚴哉囉修夷阿波色莊寂諦塞咒莊眾我哉所伏聞薩隸愍闍吶所修是色摩訶嚴哉願愍哉即修哉空蜜陀囉伏念哉摩哉亦莊哉眾咤如願如
工具:http://hi.pcmoe.net/buddha.html
Live beautifully, dream passionately, love completely.
Rabbit
rabbit加密后字符串开头为U2FsdGVkX1
U2FsdGVkX194m4B5HqBSGYPLTS4bywdKDJh13lrSj/OcwgSAoHBw9X/p2IdEtGx7
EdJFR6rcjyPA+M+aKLZvqE7h7EBFA5LyHYk/5Cns4LV02vM7Dk+T70FlWOlJ3XeA
9pJwFdAWzeN/0A74u+hLG/oLF1g3djo77yVTCBCs0r7khTOWahv0SYR33tHSq3Yz
JGTBS1Zsj2i/sGC8tTnNfsLl0SQ2JeTJhP/aNU2LmPVTyc3y4kTx+ysw8vasHwen
WoBXFtOe2WkorJOCrqdQ8Qqd78TzZ0jRMv6MJO2ytUy/3mebHU9LAlWKFluNEh5t
/cUVvtigLS6PquYRX5ziEx52HDkW+WgfRnum/AregLJ4c4f6AvG2gBjHVKO6sGEi
uh59jcyN1SvsQEvXd7cOD/KWZjE5gqVGUJqXyhauqWPVYUlcuHH6abtQwNuDb+jZ
xMg5QaDzwPhpGRly7NhKU5OgCdhdK17TX7z2/RuNYj6pyfRYNZmQdOFl9B28+law
KO8l5b18WF5JV6chou7riwwDLqQrKMDjUUKZUtdMn0ReDQbR8reeqw/u+Lkyhl6w
+222QWgQ2yRd2dhHb1kqNncUInAEqTPNKRBnia8F/+FycBv+KAwCFPwx9oNTFBYN
4EJL/RjiXEkkSCnyH48VynuuOeX2uNlAti214mCbWWH+pxLn4PHIWf3JK819kiDc
jqyQ5y3v+EUEr9Sb1WVwiITDW5XtzVP+Yr/IJ0ikl41zMu9BAQPermoa8hZJdE8m
b3oSet+pAM7PtnyI7FGJ5Ynkpq05AiJMrN+UgV0E/ELc0UhWw3O0c4u+eYtQkzu/
9+UCRy1Fi+QWFlO3cuWBA4GMGTE1FHWnqnZ683FwrM5bcb6TTu3/Q5sppFmqNrOX
+ctx5b5xiYeSZ8XFI2ks6L7aFrQYu833GiERnIiZEX8vFqjdnD+tcuQ6Zg9Z7oxh
ATDP9H5d1e9IaxwOA/fDP0qvdKJ+OS5OPljnboywCPp7QqFHZfyC7d2GIraadSOL
+eIwfavCqgfGwpWMW5H359IKZASi/HexzEcYrA7OZ8GzSxO9Lmk/ea4BD4JD2law
EIiDE7yhJApimzJ4IG8EMXFn/rOM3O2PkuSTKFsXu7/XZ3ozAJsPun5RJcMuUFXQ
X++DqXqe6Kbo/hEKwHETq0VbL6qEKkQKf5ce3i6tuZG8OqqPsye0Ku5D2LREqqGG
ysshULZWmvlx4u2FUtj4Xg==
工具:https://www.sojson.com/encrypt_rabbit.html
希尔密码
工具:http://www.atoolbox.net/Tool.php?Id=914
waoootu.epj,nv o
www.verymuch.net
love and peaceee
AES
AES、DES、RC4、Rabbit、Triple DES(3DES)这些都是非对称性加密算法,就是引入了密钥,密文特征与Base64类似
工具:https://tools.jb51.net/password/aes_encode
U2FsdGVkX19QwGkcgD0fTjZxgijRzQOGbCWALh4sRDec2w6xsY/ux53Vuj/AMZBDJ87qyZL5kAf1fmAH4Oe13Iu435bfRBuZgHpnRjTBn5+xsDHONiR3t0+Oa8yG/tOKJMNUauedvMyN4v4QKiFunw==
U2FsdGVkX18OvTUlZubDnmvk2lSAkb8Jt4Zv6UWpE7Xb43f8uzeFRUKGMo6QaaNFHZriDDV0EQ/qt38Tw73tbQ==
flag{DugUpADiamondADeepDarkMine}
十六进制
666c61677b68656c6c6f5f776f726c647d
工具:https://www.toolhelper.cn/EncodeDecode/EncodeDecode
flag{hello_world}
Brainfuck
只有八种符号,所有的操作都由这八种符号的组合来完成。
工具:https://ctf.bugku.com/tool/brainfuck
+
++
+++
++[>
+>++>
+++>++
++>++++
+>++++++
>+++++++>
++++++++>+
++++++++>++
++++++++>+++
++++++++>++++
++++++++>+++++++++++++>++++++++++++++>+++++++++++++++>++
++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>--.++<<
<<<<<<<<<<<>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<
>>>>>>>>>>>>+.-<<<<<<<<<<<<>>>>>>>>>>>>>-.+<
<<<<<<<<<<<<>>>>>>>>>>>>>>>+++.---<<<<<<
<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<
<<<<<<>>>>>>>>>>>>>>+++.---<<<<<
<<<<<<<<<>>>>>>>>>>>>>>-.+<<
<<<<<<<<<<<<>>>>>>>>>>>>
>>----.++++<<<<<<<<<<<<<
<>>>>>>>>>>>>+.-<<<<<<<<
<<<<>>>>>>>>>>>>>>--.++<<<
<<<<<<<<<<<>>>>>>>>>>>>>-.
+<<<<<<<<<<<<<>>>>>>>>>>>>>>
+++.---<<<<<< <<<<<<<<>>>>
>>>>>>>>-.+< <<<<<<<<<<<
>>>>>>>>>> >>>--.++<
<<<<<<<<< <<<>>>>>
>>>>>> >>>-.+
<<<<< <<<<<
<<< <>>
>> >>
>>>>>>>>++.--<<<<<<<<<<<<<<>>>>>>>>>>>>-.+<<<<<<<<<<<<>>>>>>>>>>>>>--.++<<<<<<<<<<<<<>>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<<>>>>>>>>>>>>>>--.++<<<<<<<<<<<<<<>>>>>>>>>>>>-.+<<<<<<<<<<<<>>>>>>>>>>>>+.-<<<<<<<<<<<<>>>>>>>>>>>>>>--.++<<<<<<<<<<<<<<>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<>>>>>>>>>>>>-.+<<<<<<<<<<<<>>>>>>>>>>>>>>.<<<<<<<<<<<<<<>>>>>>>>>>>>>>++.--<<<<<<<<<<<<<<>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<>>>>>>>>>>>>>--.++<<<<<<<<<<<<<>>>>>>>>>>>>>+.-<<<<<<<<<<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<<<.
flag{esolangs_for_fun_and_profit}
Ook
由 Ook. Ook! Ook? 或者 . ! ? 三种组成
MD5
一般MD5值是32位由**数字“0-9”和字母“a-f”**所组成的字符串
21232F297A57A5A743894A0E4A801FC3
sha1
与MD5差不多,只不过位数是40位
d033e22ae348aeb5660fc2140aec35850c4da997
栅栏密码
栅栏密码是一种简单的移动字符位置的加密方法,规则简单,容易破解。栅栏密码的加密方式:把文本按照一定的字数分成多个组,取每组第一个字连起来得到密文1,再取每组第二个字连起来得到密文2……最后把密文1、密文2……连成整段密文。
工具:https://ctf.bugku.com/tool/railfence
f7liavga{1M_0105n_cC@okmei_nFge!s}
flag{M00nc@ke_Fes7iva1_15_Coming!}
仿射密码
仿射密码(Affine cipher)是一种表单替换密码,通过对字母数值进行简单的乘法和加法方程运算,而得到另一个与其对应的字母,从而进行加密; 仿射加密函数:F(x) = (ax + b) (mod m),其中a和b互质,m是字母的数量; 仿射解密函数:F(x) = a-1(x - b) (mod m),其中a-1是a在Zm群的乘法逆元,m是字母的数量。
eyjd{4e71wf_H1uc3s_15_EEEEpwwl!!}
a,b∈(1,25]
a=x**2;
b=(x-2)**2;
print(a,b)
for x in range(6):
a = x**2
b = (x-2)**2
if 1 < a <= 25 and 1 < b <= 25:
print(a, b)
可以解出16,4和25,9两种答案,因为此密码只能是奇数,所以a,b是25,9
flag{4f71ne_C1ph3r_15_FFFFunny!!}
工具:http://www.hiencode.com/affine.html(注意这个网站会把大写换成小写)
XXencode
编码过程和base64一样,但是码表不同。
码表:±0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
GNalVNrhsS5VsS5VZPaBjN4Jx
UUencode
39FQA9WM55555555596YC;V1E?0``
云影密码
使用 0,1,2,4,8 这五个数字,其中 0 用来表示间隔,其他数字相加。
1024210828
air
解密脚本
def decode(cipher):
charList = [chr(i) for i in range(ord('A'),ord('Z')+1)]
ret = []
plaintext = [i for i in cipher.split('0')]
for i in plaintext:
tmp = 0
for j in range(len(i)):
tmp += int(i[j])
ret.append(charList[tmp-1])
return ''.join(ret).
c = decode('11024210828')
print(c)
1024210828
air