trytodecrypt.com — easy (1-6)
字符集
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.,;:?!(71
个字符)。
easy 都是简单替换密码。
网站提供加密工具,可用 chosen-plaintext
查询建立替换表。以下脚本保存为
script.py,要求每个字符对应固定宽度 hex
token,且加密面板位于返回 HTML
的第二个匹配项;输出缺失、截断或冲突都会中止。站点请求与 Text 6
的完整替换表未复现,正文密文中的固定答案保留为题目记录。
1 | import subprocess |
Text 1
131017171A48221A1D170F
偏移 2。
1 | C = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.,;:?! " |
Text 2
4A3E374A4973483F3D3E4A
偏移 45(charset 索引偏移);给定密文中空格 73 减 45
得到索引 70。
1 | C = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.,;:?! " |
Text 3
0A0B1339150B1139070A0B13390510
偏移 -13(58 mod 71)。解码时减去 -13,再对 71 取模。
1 | C = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.,;:?! " |
Text 4
0C02D8010D0C02D8010606D8101402FCD80F0603D8FC0600DA
\(\mathrm{enc} = (30 - \mathrm{charset\_pos}) \bmod 256\)
1 | C = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.,;:?! " |
Text 5
90DE633F425148DE51546CDE725466DE3F2A6936DE4263CCDEAB362A3372DE39545DDE633F36DE51366F63DE545136D8
\(\mathrm{enc} = \mathrm{charset\_pos} \times 3 + 12\)
1 | C = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.,;:?! " |
Text 6
4D586CFC2DB449D47B0CF99C3BC46CFC7B0C
固定 4-hex 替换表。
1 | $ python script.py 6 4 |