首页 › tutorials › 零基础装通Claude Code造密码管家

零基础装通 Claude Code 造密码管家

概述

本教程是 Claude Code 训练营的入门第一课,面向完全零基础的读者:从未用过命令行 AI 编码助手、甚至没怎么写过代码的人,也能跟着一步步走完。学完之后你将能够:在自己的电脑上把 Claude Code 装好、登录、跑通第一次会话;理解 REPL、斜杠命令、计划模式、CLAUDE.md 记忆这几块核心拼图;并用一句中文需求,驱动 Claude Code 从零生成一个可运行、可复用的命令行密码管家——既能生成强随机密码,又能用业界标准的 zxcvbn 算法给任意密码打分并给出改进建议。适用人群:想体验 AI 编程的产品经理、运维、学生、以及任何对"让 AI 帮我写工具"心动却不知从何下手的人。

前置条件

在动手之前,请确认你具备以下条件(缺一不可,但门槛很低):

一句话门槛:能开机、能联网、有 Claude 账号。其余的,交给这堂课。


第 1 步:安装 Claude Code

官方在 2026 年主推原生安装(Native Install),这是最推荐的方式,因为它会在后台自动更新,让你始终停留在最新版本,省去手动升级的烦恼。

macOS / Linux / WSL,打开终端粘贴执行:

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell(注意是 PowerShell,不是老的 CMD):

irm https://claude.ai/install.ps1 | iex

常见坑:如果你在 PowerShell 里看到 'irm' is not recognized,说明你其实在 CMD 窗口里;反之在 CMD 里看到 The token '&&' is not valid,说明你其实在 PowerShell 里。看提示符就能区分——PowerShell 是 PS C:\>,CMD 是 C:\>。

如果你更习惯包管理器,也可以:

# macOS(Homebrew)
brew install --cask claude-code
# Windows(WinGet)
winget install Anthropic.ClaudeCode

预期结果:安装完成后,在终端输入 claude --version,会打印出一行版本号,例如 2.x.x。看到版本号就说明二进制已经进入你的 PATH,随时可调用。

常见问题:


第 2 步:登录账号,开启第一次会话

装好之后,在任意目录下输入:

claude

首次运行会进入登录引导。你会看到几个选项,根据你的账号类型选择:

登录成功后,你会看到一个交互式输入框,光标在闪——这就是 Claude Code 的 REPL(交互式对话界面),类似一个"住在终端里的聊天窗口",但它能真正读你的文件、改你的代码、跑你的命令。

先打两个基础斜杠命令(slash command,以 / 开头)熟悉一下:

预期结果:终端出现欢迎横幅和一个可输入的提示符,光标稳定闪烁,说明你已经"进入"了 Claude Code。


第 3 步:建立一个干净的练习项目

跟 AI 编程,最重要的习惯之一是给它一个明确的工作目录,而不是在你装满文件的 home 目录里乱翻。我们新建一个专门的项目文件夹:

mkdir ~/pwkeep
cd ~/pwkeep

进入目录后再启动(如果刚才 claude 还开着,先 /clear):

claude

Claude Code 启动时会感知到当前目录。从此你说"在这个项目里加个功能",它就知道边界在哪。

预期结果:REPL 顶部的状态栏会显示当前工作目录是 ~/pwkeep,里面空空如也,准备开工。


第 4 步:用一句中文下需求——让 AI 写出第一版

现在是见证奇迹的时刻。在 REPL 里直接用自然语言输入(不需要你懂 Python、不需要你写任何代码):

帮我用 Python 写一个命令行密码生成器,名字叫 pwkeep。要求:
1. 默认生成 16 位密码,包含大小写字母、数字、符号
2. 用 -l 指定长度,-n 指定生成几个
3. 加 --no-symbols 去掉符号
4. 安全起见用 secrets 模块而不是 random
请先告诉我你打算怎么做(计划),再动手写。

这里有个新手必学的小技巧:末尾那句"先告诉我计划再动手"。Claude Code 有一个计划模式(Plan Mode),你可以用 Shift + Tab 在"直接执行 / 先规划后执行"之间切换。在计划模式下,它会先列出"我打算建哪些文件、写哪些函数",等你点头再真正改文件。对零基础者,这等于多了一道"确认"保险,避免它一上来就大刀阔斧。

Claude 大概率会回复一个简短计划,例如:

计划:
- 新建 pwkeep.py,用 argparse 解析参数
- 用 secrets.choice 从字符池随机抽取
- 保证每类字符至少出现一个
- 最后 shuffle 打乱
确认后我开始写。

你回一个"开始"或按回车确认。几秒钟后,你会看到终端里逐行"打印"出 pwkeep.py 的完整代码——这就是 Claude Code 在为你写文件,右侧往往还会提示它调用了 Write 工具。

预期结果:项目目录下出现 pwkeep.py,里面有几十行可读的 Python 代码。你不用读懂每一行,但你能在 REPL 里直接让它"解释一下第 X 行"。

常见问题:


第 5 步:迭代升级——加密码强度检测

第一版只是"生成器"。一个真正的密码管家,还应该能告诉你某个密码到底有多强。这一步演示 Claude Code 最爽的体验:增量对话、越改越强,而不用每次重起炉灶。

继续在同一个 REPL 里(上下文还连着)输入:

很好。现在再加一个 --check 参数:当用户传 --check 某个密码时,
不要生成新密码,而是评估这个密码的强度,给出 0-4 分和改进建议。
请用业界标准的 zxcvbn 库来做评估(它在 PyPI 上叫 zxcvbn),
但要注意:如果用户机器上没装这个库,要优雅退化到一个简单的启发式打分,
而不是直接崩溃。

注意这段需求里的几个工程化要点,都是真实开发会遇到、而 AI 能帮你处理好的:

  1. 用第三方库 zxcvbn——它不是 random 数个位数那种玩具,而是 Dropbox 开源的、基于真实密码破解模式的评估器,输出 0~4 的分数、预计破解时长和改进建议。
  2. 优雅退化——依赖缺失时不崩,是成熟工具的标志。

Claude 会先把 zxcvbn 的 import 包在 try/except ImportError 里,再补一个启发式 strength() 函数。它可能还会提醒你装依赖:

pip install zxcvbn

照做即可(如果你用虚拟环境更好,零基础可暂时跳过这层)。

预期结果:现在你的 pwkeep.py 既能 python3 pwkeep.py -l 20 生成密码,也能 python3 pwkeep.py --check 'P@ssw0rd123' 给老密码体检并吐出"预计破解时长"和改进建议。

常见问题:


第 6 步:运行、测试、修 Bug

工具写完不算完,能跑通才算完。在 REPL 里,你可以直接让 Claude 自己跑一遍验证:

跑一下这三条命令,确认输出正常:
python3 pwkeep.py
python3 pwkeep.py -l 24 -n 3
python3 pwkeep.py --check 'qwerty'
把每条的输出贴给我看。

Claude Code 会调用 Bash 工具在终端里执行这些命令,并把结果原样回贴给你。如果第一条命令因为"没有可写权限"或"shebang 缺失"而失败,它通常会自己发现错误并尝试修复,不需要你插手——这正是 Agent 模式的魅力:它在"执行→观察→修正"的循环里自洽运转。

预期结果:你看到三段输出。生成类命令每次结果都不同(因为是随机的),但都会带一个 [x/4 强度标签] 的后缀;--check qwerty 这种弱密码会被判 0 分并给出"太短、是常见键盘序列"之类的建议。

常见问题:


第 7 步:把项目记忆写进 CLAUDE.md

Claude Code 有一个长期记忆机制:项目根目录下的 CLAUDE.md 文件,会被它在每次会话开始时自动读取。你可以把"这个项目是什么、有什么约定、依赖怎么装"写进去,这样下次甚至换了电脑,它也能秒懂上下文。

最快的办法是直接让 Claude 帮你生成:

帮我在项目根目录生成一个 CLAUDE.md,记录:项目用途、运行方式、
依赖(zxcvbn,可选)、未来想加的功能清单(比如批量生成并导出 CSV、
密码短语 passphrase 模式)。用简洁的中文。

你也可以直接输入 /init,Claude Code 会扫描项目并自动起草一份初始 CLAUDE.md,你再让它润色。

预期结果:项目里多出 CLAUDE.md,里面是结构化的项目说明。下次重启 claude,它会"记得"这个项目是干嘛的——这就是从"一次性问答"升级到"长期协作伙伴"的关键一步。


实战案例:完整可运行的 pwkeep.py

下面是经过上述流程打磨后的完整代码,可直接保存为 pwkeep.py 运行。它体现了"生成 + 体检 + 优雅退化"三件套,是一个能拿去真实使用、并方便继续扩展的迷你工具:

#!/usr/bin/env python3
"""pwkeep —— 命令行密码生成与强度检测工具"""
import argparse
import secrets
import string

# 尽量用业界标准的 zxcvbn;装不上则优雅退化
try:
    from zxcvbn import zxcvbn
    HAVE_ZXCVBN = True
except ImportError:
    HAVE_ZXCVBN = False

SETS = {
    "lower": string.ascii_lowercase,
    "upper": string.ascii_uppercase,
    "digits": string.digits,
    "symbols": "!@#$%^&*-_=+?",
}
LABELS = ["极弱", "弱", "一般", "强", "极强"]


def generate(length=16, use_sets=None, exclude_similar=True):
    use_sets = use_sets or list(SETS)
    pool = "".join(SETS[s] for s in use_sets)
    if exclude_similar:  # 去掉容易混淆的 I l 1 O 0 o
        for ch in "Il1O0o":
            pool = pool.replace(ch, "")
    if not pool:
        raise ValueError("字符池为空,无法生成密码")
    pwd = [secrets.choice(SETS[s]) for s in use_sets]      # 每类至少一个
    pwd += [secrets.choice(pool) for _ in range(length - len(pwd))]
    secrets.SystemRandom().shuffle(pwd)                    # 安全洗牌
    return "".join(pwd[:length])


def strength(password):
    if not HAVE_ZXCVBN:
        score = 0
        if len(password) >= 12: score += 1
        if len(password) >= 16: score += 1
        if any(c.isupper() for c in password) and any(c.islower() for c in password): score += 1
        if any(c.isdigit() for c in password): score += 1
        if any(not c.isalnum() for c in password): score += 1
        return {"score": min(score, 4), "suggestions": ["安装 zxcvbn 可获得更准确的评估"],
                "source": "heuristic"}
    res = zxcvbn(password)
    return {
        "score": res["score"],
        "crack_time": res["crack_time_display"],
        "suggestions": res["feedback"]["suggestions"],
        "source": "zxcvbn",
    }


def main():
    p = argparse.ArgumentParser(prog="pwkeep", description="密码生成与强度检测")
    p.add_argument("-l", "--length", type=int, default=16, help="密码长度,默认 16")
    p.add_argument("-n", "--count", type=int, default=1, help="一次生成几个,默认 1")
    p.add_argument("--no-symbols", action="store_true", help="不含符号")
    p.add_argument("--no-digits", action="store_true", help="不含数字")
    p.add_argument("--check", metavar="PWD", help="检测某个已有密码的强度")
    args = p.parse_args()

    if args.check:
        info = strength(args.check)
        print(f"密码强度: {info['score']}/4 ({LABELS[info['score']]})  [{info['source']}]")
        if "crack_time" in info:
            print(f"预计破解时长: {info['crack_time']}")
        for s in info.get("suggestions", []):
            print(f"  建议: {s}")
        return

    use = [s for s in SETS
           if not (s == "symbols" and args.no_symbols)
           and not (s == "digits" and args.no_digits)]
    for _ in range(args.count):
        pw = generate(args.length, use)
        info = strength(pw)
        print(f"{pw}  [{info['score']}/4 {LABELS[info['score']]}]")


if __name__ == "__main__":
    main()

跑起来是这样的:

$ python3 pwkeep.py -l 20 -n 2
7tGq#mK2vR-pXb9LwzF@  [4/4 极强]
cY3$fN8kP&hJvT2xQwL_  [4/4 极强]

$ python3 pwkeep.py --check 'qwerty'
密码强度: 0/4 (极弱)  [zxcvbn]
预计破解时长: 即刻
  建议: 增加 3 个及以上字符;避免键盘序列等常见模式

工作流程图

下面这张图还原了你从安装到产出工具的完整心智路径,也是本课的"地图":

flowchart TD
    A[第1步 安装 Claude Code<br/>原生脚本 / Homebrew / WinGet] --> B[第2步 登录账号<br/>Pro Max 订阅 或 API Key]
    B --> C[第3步 建干净项目目录<br/>mkdir cd claude]
    C --> D{Shift+Tab 切换<br/>计划模式?}
    D -- 先看计划 --> E[REPL 里用一句中文描述需求<br/>默认16位 含大小写数字符号]
    D -- 直接执行 --> E
    E --> F[Claude 起草计划并写文件<br/>Write 工具生成 pwkeep.py]
    F --> G[第5步 增量迭代<br/>加 --check 强度检测 + zxcvbn + 优雅退化]
    G --> H[第6步 让 Claude 自跑验证<br/>Bash 工具执行并回贴结果]
    H --> I{通过?}
    I -- 否 --> G
    I -- 是 --> J[第7步 写 CLAUDE.md<br/>沉淀项目记忆]
    J --> K[可复用的密码管家 CLI]

    style A fill:#e1f5ff
    style K fill:#e8f5e9
    style D fill:#fff3e0

常见问题汇总(FAQ)


延伸阅读


训练营适用性评估


参考来源

  1. Quickstart - Claude Code Docs — Anthropic 官方快速上手文档,本课安装命令、登录流程、计划模式等核心步骤的权威出处。
  2. Claude Code Tutorial for Beginners - Complete 2026 Guide — 2026 年中更新的完整入门指南,覆盖 CLAUDE.md、Plan Mode、权限模式等概念的进阶讲解。
  3. Claude Code Tutorial for Beginners 2026: From Installation to Building Your First Project (dev.to) — 强调从安装到首个项目的连贯实操路径,适合零基础对照练习。
  4. zxcvbn-python · PyPI — 本课密码强度检测所用库的官方页面,Dropbox 开源的真实破解模式评估器,返回 0~4 分、破解时长与改进建议。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入