📖 学员手册
代码讲解已合并到高亮预览的代码注释里
⚔ 最终 Boss:黑暗博士的加密实验室 · 学员手册
第八课 | 60 分钟 | Boss 战 | +200 EXP | 称号:创世大师
| 你将学会 | 你将完成 |
|---|---|
ord() | 把字符变成数字编码 |
chr() | 把数字编码变回字符 |
% 26 | 让字母超过 z 后循环回到 a |
| 字符串逐字遍历 | 把整句情报加密和解密 |
| 暴力破解 | 尝试 26 种 shift 破解 Boss 密文,也能破解自定义密文 |
一、Boss 剧情
完成前 7 节后,黑暗博士锁住创世核心,只留下密文:
text
gdun fruh lv dw qrgh vhyhq你的任务不是猜,而是用 Python 找出加密规则。
二、核心知识
python
ord('a') # 97
chr(97) # 'a'ord 是字符变数字,chr 是数字变字符。
凯撒加密的核心公式:
python
number = ord(char) - ord('a')
new_number = (number + shift) % 26
secret = chr(new_number + ord('a'))% 26 的作用:让 z 后面重新回到 a。
三、6 关挑战
- Boss 密文出现:认识今天要破解的情报。
- 字符编码 ord/chr:理解文字背后的数字。
- 单字母加密:把一个字母按 shift 移动。
- 整句情报加密:逐字遍历 message。
- 反向解密:加密是 +shift,解密是 -shift。
- Boss 暴力破解:尝试 26 种偏移量;第6关还能输入自定义密文,破解同学出的暗号。
四、你可以怎样改
| 想改什么 | 改哪里 |
|---|---|
| 改自己的暗号 | message |
| 改 Boss 密文 | boss_secret |
| 临时破解同学的密文 | 第6关运行后输入自定义密文 |
| 改偏移量 | shift |
| 改作者名 | author |
| 改最终报告文字 | 第6关 turtle 绘图区 |
五、课后作业
- 写一句自己的英文暗号。
- 改 3 个不同的 shift,观察密文变化。
- 用第5关把自己的密文解回原文。
- 用第6关破解 Boss 密文并截图。
- 额外挑战:把第4关生成的密文发给同学,让同学在第6关输入并破解。
- 安全提醒:凯撒加密只适合学习,不要用于真实账号密码。
Ctrl+/ 注释 · ▶ 运行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
点击 ▶ 运行或按 Ctrl+Enter
预览区(HTML / turtle 输出)
📋 任务卡
1Boss 密文出现
看到黑暗博士留下的密文,明确本节课要破解什么。
💡运行后输入 1+10 XP
2字符编码 ord/chr
理解文字在电脑里其实是数字:ord 变数字,chr 变字符。
💡运行后输入 2+10 XP
3单字母加密
把 a 往后移动 shift 格,看到凯撒加密的核心公式。
💡运行后输入 3+10 XP
4整句情报加密
逐字遍历字符串,保留空格,把整句话变成密文。
💡运行后输入 4+10 XP
5反向解密
加密用 +shift,解密用 -shift,把密文还原成原文。
💡运行后输入 5+10 XP
6Boss 暴力破解
不知道 shift 时,尝试 26 种可能;也可以输入自己想破解的密文,生成最终报告。
💡运行后输入 6,可继续输入自定义密文+10 XP
🎁 完成全部 +30 XP
加载中
▶▼ 🧩 扩展
📦numpy
📦matplotlib
📦pillow
📦requests
📦sympy
📦pandas
📦scipy
📦beautifulsoup4
📦pygame
📦flask
📦opencv-python
📦nltk
📦sqlalchemy
📦plotly