从哈希原理到实战:掌握Hashcat密码恢复工具的核心攻防技术
在网络安全领域密码安全是防御体系的第一道关卡。无论是渗透测试中的授权评估还是企业安全团队进行内部防护能力验证理解密码破解的原理与工具都是至关重要的技能。Hashcat作为业界公认的速度最快、功能最全的高级密码恢复工具是安全研究人员、渗透测试工程师和CTF选手必须掌握的利器。本文将从零开始系统性地讲解Hashcat的核心原理、环境搭建、攻击模式实战并深入探讨其背后的密码学知识、防御策略以及合法合规的使用边界。通过本文你将能掌握Hashcat从基础到进阶的完整使用流程理解密码破解的攻防逻辑并建立起在合法授权范围内进行安全测试的完整知识框架。1. 密码破解基础与Hashcat核心概念在深入工具使用之前我们必须建立正确的认知基础。密码破解并非简单的“猜密码”而是一个涉及密码学、计算资源和策略的复杂过程。1.1 什么是哈希Hash与密码存储现代系统几乎从不以明文形式存储用户密码。当你在网站或系统注册时你输入的密码会经过一个哈希函数的处理生成一串固定长度的、看似随机的字符串这串字符就是哈希值。这个过程是单向的理论上无法从哈希值反推出原始密码。常见的哈希算法包括MD5: 已被证实存在碰撞漏洞不再安全但仍广泛存在于旧系统中。SHA-1: 同样存在安全性问题不推荐用于密码存储。SHA-256/SHA-512: 目前常用的安全哈希算法。bcrypt, scrypt, Argon2: 专门为密码存储设计的“慢哈希”函数内置了成本因子工作因子能有效抵御暴力破解。系统在验证密码时会将你再次输入的密码进行相同的哈希计算然后比对计算出的哈希值与数据库中存储的哈希值是否一致。因此所谓的“密码破解”在技术层面上是尝试找到能生成目标哈希值的那个原始输入即密码的过程。1.2 Hashcat是什么及其定位Hashcat不是一个直接“破解”系统或网站的工具它是一个离线密码恢复工具。它的工作前提是你已经通过某种授权方式如从数据库导出、从内存dump、从网络抓包获得哈希包获取到了目标的密码哈希值。Hashcat的任务是利用CPU、GPU、甚至FPGA等计算资源以极高的速度尝试海量的候选密码计算其哈希值并与目标哈希进行比对。其核心优势在于多算法支持支持超过300种哈希算法的破解包括常见的MD5、SHA家族、Windows的NTLM/LM哈希、Unix的crypt系列、以及各种应用特定哈希如MySQL、Cisco类型。多种攻击模式提供暴力破解、字典攻击、组合攻击、规则攻击、混合攻击等多种策略适应不同场景。极致性能充分利用多核CPU、多GPU的并行计算能力通过高度优化的内核实现极快的哈希计算速度。跨平台支持Windows、Linux、macOS。1.3 合法合规的使用场景这是最重要的部分。使用Hashcat必须严格遵循法律法规和道德准则。渗透测试与安全评估在获得目标系统所有者明确书面授权的前提下对系统密码强度进行测试。取证调查执法部门或授权的安全团队在调查案件时对依法获取的电子设备中的加密数据进行解密。个人数据恢复忘记了自己加密文件、压缩包的密码且该数据为你本人所有。教育与研究在隔离的实验室环境中用于学习密码学、安全攻防技术。绝对禁止在未授权的情况下对任何不属于你或你未获得明确测试许可的系统、网络、数据进行密码破解尝试这属于违法行为。2. 环境准备与Hashcat安装工欲善其事必先利其器。Hashcat的性能严重依赖硬件尤其是GPU。2.1 硬件与系统要求操作系统推荐使用Kali Linux、Parrot OS等渗透测试专用发行版它们预装了Hashcat及大量字典。Windows和macOS也可运行。CPU现代多核处理器即可。GPU关键这是Hashcat的“发动机”。NVIDIA GPU需安装CUDA驱动和AMD GPU需安装ROCm或OpenCL驱动都能提供远超CPU的破解速度。显存越大能同时处理的哈希和字典数据越多。驱动确保安装了最新的显卡驱动和对应的计算平台CUDA或OpenCL。2.2 在Kali Linux中安装与验证Kali Linux通常预装了Hashcat。可以通过以下命令验证和更新# 查看是否已安装及版本 hashcat --version # 如果未安装使用apt安装 sudo apt update sudo apt install hashcat hashcat-utils -y # 更新到最新版本如果仓库版本较旧 sudo apt upgrade hashcat2.3 在Windows中安装从Hashcat官网下载最新的二进制发布包。解压到任意目录例如C:\hashcat。打开命令提示符CMD或PowerShell导航到该目录。需要额外安装显卡厂商的运行时库如NVIDIA的CUDA Toolkit或AMD的APP SDK。2.4 基本命令验证安装后运行帮助命令查看是否正常hashcat --help这会输出一个非常长的帮助信息包含所有参数、支持的哈希模式-m和攻击模式-a列表。3. Hashcat核心攻击模式详解理解攻击模式是高效使用Hashcat的关键。每种模式对应不同的密码猜测策略。3.1 攻击模式 (-a 参数)-a 0 字典攻击 (Straight)最常用、最高效的模式。使用一个预先准备好的密码字典文件逐行读取候选密码进行尝试。成功率取决于字典的质量和目标密码的复杂度。hashcat -m 0 -a 0 target_hashes.txt rockyou.txt # -m 0 指定哈希类型为MD5 # -a 0 字典攻击 # target_hashes.txt 包含目标哈希值的文件 # rockyou.txt 字典文件-a 1 组合攻击 (Combination)将两个字典中的词进行组合。例如字典A有pass字典B有123、!则尝试pass123、pass!。hashcat -m 0 -a 1 target_hashes.txt dict1.txt dict2.txt-a 3 掩码攻击/暴力破解 (Brute-Force/Mask)当你知道密码的部分格式例如知道以Admin开头后跟4位数字时使用。它通过定义字符集和位置来大幅缩小尝试空间比纯暴力破解高效得多。hashcat -m 0 -a 3 target_hashes.txt Admin?d?d?d?d # ?d 代表数字 (0-9) # 这个掩码会尝试 Admin0000 到 Admin9999-a 6 字典掩码攻击 (Hybrid Wordlist Mask)在字典中每个词的后面附加一个掩码。hashcat -m 0 -a 6 target_hashes.txt rockyou.txt ?d?d?d # 尝试字典中每个密码后面加上3位数字如 password123, hello456-a 7 掩码字典攻击 (Hybrid Mask Wordlist)在掩码前面加上字典中的每个词。hashcat -m 0 -a 7 target_hashes.txt ?d?d?d rockyou.txt # 尝试3位数字后面加上字典中的词如 123password, 456hello3.2 规则攻击 (-r 参数)字典的威力倍增器规则攻击不是独立的攻击模式而是与字典攻击-a 0结合使用的强大功能。它通过对字典中的基础词进行一系列变换如大小写转换、添加后缀/前缀、字符替换、颠倒顺序等生成大量变体从而用一个较小的基础字典覆盖更大的密码可能性空间。Hashcat自带丰富的规则集位于rules目录下。hashcat -m 0 -a 0 target_hashes.txt rockyou.txt -r /usr/share/hashcat/rules/best64.rule # 使用 best64.rule 规则文件对 rockyou.txt 中的每个密码进行变换后再尝试3.3 哈希类型识别 (-m 参数)你必须告诉Hashcat目标哈希的算法类型。使用hashcat --help查看完整的-m编号列表。常见的有-m 0: MD5-m 1000: NTLM (Windows)-m 1800: sha512crypt$6$, SHA512(Unix)-m 3200: bcrypt$2*$, Blowfish(Unix)-m 5500: NetNTLMv1 / NetNTLMv1ESS-m 5600: NetNTLMv2如果不确定哈希类型可以尝试使用hashcat --identify功能或使用hash-identifierKali自带等工具进行识别。4. 完整实战案例从获取哈希到破解我们以一个完整的、在本地虚拟实验环境中的MD5密码破解为例演示全流程。4.1 实验环境与目标设置系统Kali Linux 2024.1目标我们自行生成几个MD5哈希值作为“目标”。字典使用Kali自带的经典弱密码字典rockyou.txt位于/usr/share/wordlists/。首先我们创建目标哈希文件target_hashes.txt。假设我们知道明文的密码是password123、hello2024和Admin123。# 使用 echo 和 md5sum 生成MD5哈希 (注意echo默认会加换行符影响哈希值) echo -n password123 | md5sum | awk {print $1} target_hashes.txt echo -n hello2024 | md5sum | awk {print $1} target_hashes.txt echo -n Admin123 | md5sum | awk {print $1} target_hashes.txt # 查看生成的哈希文件 cat target_hashes.txt # 输出可能类似 # 482c811da5d5b4bc6d497ffa98491e38 # 1a79f8f5c1b3c3c3d4f4f4e4b4b4b4b4 (示例非真实) # 450d7c1e3e5b7a7a7a7a7a7a7a7a7a7a注意echo -n确保不添加换行符这是正确的MD5计算方式。4.2 执行字典攻击 (-a 0)现在我们使用rockyou.txt字典来尝试破解这些哈希。hashcat -m 0 -a 0 target_hashes.txt /usr/share/wordlists/rockyou.txt -o cracked_passwords.txt-m 0: 指定哈希类型为MD5。-a 0: 使用字典攻击。-o cracked_passwords.txt: 将破解成功的“哈希:明文”对输出到指定文件。运行后Hashcat会开始工作在终端显示当前状态、速度、进度和预计剩余时间。由于password123和hello2024极有可能存在于rockyou.txt这个大型弱密码字典中它们应该会被快速破解。4.3 查看破解结果攻击完成后查看结果文件cat cracked_passwords.txt输出格式为哈希值:明文密码例如482c811da5d5b4bc6d497ffa98491e38:password123 1a79f8f5c1b3c3c3d4f4f4e4b4b4b4b4:hello2024你会发现Admin123可能没有被破解因为它不够常见可能不在rockyou.txt中。4.4 进阶尝试规则攻击针对未破解的Admin123我们可以尝试使用规则攻击对字典进行变换。# 先清理之前的破解记录以便重新尝试或使用 --remove 参数 hashcat -m 0 -a 0 target_hashes.txt /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/rockyou-30000.rule -o cracked_rules.txt这条命令使用rockyou-30000.rule规则它能对字典中的基础词进行数万种常见变换大大增加命中复杂密码如基础词后加数字、符号、大小写变换的概率。4.5 使用掩码攻击 (-a 3)如果我们通过信息收集推测Admin123的格式是“首字母大写的单词3位数字”我们可以尝试掩码攻击。# 假设我们知道单词部分是 “Admin”后面是 “” 符号和3位数字 hashcat -m 0 -a 3 target_hashes.txt Admin?d?d?d这个掩码空间只有1000种可能Admin000到Admin999会瞬间完成。如果密码确实是Admin123则会被破解。5. 常见问题与排查思路 (FAQ)在实际使用中你会遇到各种问题。以下是一些常见问题及解决方法。问题现象可能原因解决思路hashcat: No devices found/left.1. 显卡驱动未安装或安装不正确。2. Hashcat不支持你的集成显卡。3. 在虚拟机中运行未正确直通GPU。1. 在Linux下安装nvidia-cuda-toolkit或rocm。运行hashcat -I查看检测到的设备。2. 尝试使用CPU模式运行hashcat -D 1 -m 0 ...(-D 1指定使用CPU)。3. 对于虚拟机考虑使用物理机或配置GPU直通。ERROR: hash-mode 1000 is not supported on device 1当前选择的哈希算法 (-m参数) 在你的设备特别是GPU上不受支持。1. 更新Hashcat到最新版本。2. 查看帮助 (hashcat --help) 确认该哈希模式是否被支持。3. 使用--force参数强制在CPU上运行不推荐慢。破解速度远低于预期1. 字典文件太大I/O成为瓶颈。2. 哈希算法本身很慢如bcrypt。3. 系统资源内存、显存不足。4. 使用了低效的攻击模式或掩码。1. 使用更精炼的字典或使用规则攻击从中小字典生成变体。2. 对于慢哈希考虑使用更大的字典或更精准的掩码纯暴力破解几乎不可行。3. 监控系统资源使用情况。4. 优化掩码利用已知信息减少搜索空间。Status...........: Exhausted当前攻击模式下的所有可能性都已尝试完毕未找到匹配的密码。1. 尝试其他攻击模式如从-a 0 切换到 -a 3 并设计新掩码。2. 使用更大、更全的字典文件。3. 结合规则攻击 (-r)。4. 重新评估目标哈希类型 (-m) 是否正确。恢复会话后进度丢失会话文件 (hashcat.potfile或恢复文件) 损坏或路径不对。1. 使用--session 名参数为任务命名便于恢复。2. 恢复时使用--restore参数。3. 定期备份~/.hashcat/hashcat.potfile文件。破解出的密码是乱码或非预期字符1. 字典文件编码问题如包含BOM的UTF-8。2. 哈希值本身对应的可能就是非打印字符或二进制数据。1. 将字典文件转换为UTF-8无BOM格式。在Linux下可使用iconv或dos2unix。2. 检查哈希来源是否正确可能是文件哈希而非密码哈希。6. 最佳实践与工程化建议将Hashcat用于授权的安全测试时遵循以下最佳实践能提升效率并降低风险。6.1 字典管理与优化字典是字典攻击的灵魂。不要只依赖一个rockyou.txt。分层使用字典建立自己的字典策略。先使用小型、高效的“快速字典”如top10k.txt进行初步尝试再使用大型通用字典最后使用针对目标定制的字典如公司名、产品名、本地俚语组合。生成定制字典使用crunch、cewl爬取网站生成字典或hashcat-utils中的工具如combinator根据目标信息生成专属字典。字典去重与排序使用sort -u对字典去重并按长度或常见度排序可以提高I/O效率。6.2 攻击策略规划不要一上来就无脑跑大型字典或全字符集暴力破解。信息收集优先尽可能收集目标信息用户名、生日、公司名、常用规则用于构建掩码和定制字典。先易后难第一步使用-a 0配合顶级弱密码字典如rockyou.txt。第二步使用-a 0配合规则如best64.rule,d3ad0ne.rule。第三步基于收集的信息进行针对性的掩码攻击 (-a 3) 或混合攻击 (-a 6,-a 7)。第四步如果密码策略已知进行基于策略的暴力破解但需评估时间成本。利用硬件特性使用-w参数调整工作负载强度。在破解不影响其他工作时可以设为-w 4以获取最大性能。6.3 会话管理与分布式破解对于耗时很长的任务良好的会话管理至关重要。# 启动一个命名会话 hashcat -m 1000 -a 0 ntlm_hashes.txt big_dict.txt -o results.txt --session my_corp_audit # 如果任务中断可以这样恢复 hashcat --session my_corp_audit --restore # 查看会话状态 hashcat --session my_corp_audit --status对于超大型任务可以考虑分布式破解使用--potfile-disable和--outfile-format参数协调多台机器的工作最后合并结果。6.4 密码安全性启示防御视角作为防御者从Hashcat的攻击方式中我们可以得出强化密码策略的启示强制使用慢哈希算法在系统开发中使用bcrypt、scrypt、Argon2等设计用于密码存储的、可调节成本因子的慢哈希函数。增加密码复杂度要求要求足够长度12位以上、混合大小写字母、数字和符号。但这可能导致用户使用可预测的替换模式如Pssw0rd因此需要结合其他措施。实施密码黑名单禁止使用已知的弱密码、常见词汇和与用户个人信息强相关的密码。加盐Salt确保每个密码都有唯一、随机的盐值与之一起哈希。这使得预先计算好的彩虹表完全失效攻击者必须为每个用户单独计算。多因素认证MFA这是最有效的防御手段之一。即使密码被破解没有第二因素如手机验证码、硬件密钥也无法登录。账户锁定与监控对连续失败的登录尝试进行临时锁定并告警异常登录行为。掌握Hashcat等工具的核心价值不仅在于“攻”更在于深刻理解“防”。通过模拟攻击者的思路和方法安全人员能更有效地评估自身系统的密码策略强度发现潜在风险从而构建更稳固的安全防线。所有的技术学习与实践都必须在法律与道德的框架内进行用于保护而非破坏。建议在隔离的虚拟化实验室中如使用VirtualBox/VMware搭建的靶机进行所有练习确保技能提升的同时不触碰法律红线。

相关新闻

ZINC15数据库高效下载与处理指南:从虚拟筛选到AI训练的数据获取实战

ZINC15数据库高效下载与处理指南:从虚拟筛选到AI训练的数据获取实战

1. 项目概述:为什么我们需要ZINC15? 如果你正在做药物发现、计算化学或者机器学习模型训练,那你一定绕不开一个核心问题:数据从哪里来?高质量的、结构化的、可批量获取的小分子数据集是这一切的起点。几年前&#xff0…

2026/10/5 0:13:46 阅读更多 →
Bazzite游戏系统终极指南:从桌面到掌机的完整Linux游戏解决方案

Bazzite游戏系统终极指南:从桌面到掌机的完整Linux游戏解决方案

Bazzite游戏系统终极指南:从桌面到掌机的完整Linux游戏解决方案 【免费下载链接】bazzite Bazzite makes gaming and everyday use smoother and simpler across desktop PCs, handhelds, tablets, and home theater PCs. 项目地址: https://gitcode.com/gh_mirro…

2026/10/2 10:31:45 阅读更多 →
如何快速部署AI代理系统:面向生产环境的完整异步代理工作流方案

如何快速部署AI代理系统:面向生产环境的完整异步代理工作流方案

如何快速部署AI代理系统:面向生产环境的完整异步代理工作流方案 【免费下载链接】pi-subagents Pi extension for async subagent delegation with truncation, artifacts, and session sharing 项目地址: https://gitcode.com/GitHub_Trending/pi/pi-subagents …

2026/9/27 13:26:44 阅读更多 →

最新新闻

免费视频生成工具怎么选?AI生成与模板化编辑的组合工作流

免费视频生成工具怎么选?AI生成与模板化编辑的组合工作流

最近经常被问到同一个问题:市面上那么多免费视频生成工具,到底该用哪一类?我一直强调一个观点:别被“免费”两个字迷惑,先搞清楚两类工具的区别再下手。市面上的免费视频生成工具,核心就是两大方向——AI生…

2026/10/5 3:05:50 阅读更多 →
计算机网络期末复习:OSI七层协议与TCP/IP核心考点刷题指南

计算机网络期末复习:OSI七层协议与TCP/IP核心考点刷题指南

简介:这是一份面向高校计算机专业学生及期末备考者的计算机网络考试试题库,内容针对课程核心考点与常见题型设计,覆盖Internet基础、OSI参考模型、物理层传输介质、数据链路层、局域网与交换技术等章节,可帮助读者快速检验学习效果…

2026/10/5 3:05:50 阅读更多 →
C++网络编程实战:从socket到epoll的核心技术解析

C++网络编程实战:从socket到epoll的核心技术解析

简介:面向初学网络编程的读者,这份PDF教程以Visual C和MFC类库为开发背景,系统讲解Windows平台下网络程序开发所需的基础知识。内容从网络编程概念入手,先展开OSI七层网络模型,说明各层职责,并借助数据逐层…

2026/10/5 3:05:50 阅读更多 →
AI运维系统落地实践:大模型在32G内存服务器上的闭环设计

AI运维系统落地实践:大模型在32G内存服务器上的闭环设计

简介:本资源是一份面向制造业数字化转型从业者、IT运维架构师及AI赋能工业场景实践者的专业方案PPT,聚焦解决系统孤岛、运维响应滞后、故障定位低效与知识复用困难等核心痛点。文件为单个1.12MB的PPT课件,完整呈现AI大模型驱动运维监控平台的…

2026/10/5 3:05:50 阅读更多 →
零极点追踪与附加零点设计:提升控制系统自适应整定能力的工程实践

零极点追踪与附加零点设计:提升控制系统自适应整定能力的工程实践

做过控制工程现场调试的朋友,应该都碰见过这种糟心事:一套系统在实验室里调得好好的,电流环、速度环参数都背得滚瓜烂熟,结果一换工况,或者机器跑热了,响应就完全变样。我之前在一套直流电机驱动系统上就遇…

2026/10/5 3:05:50 阅读更多 →
深入理解多进程服务器中accept()返回EINTR的机制与处理方案

深入理解多进程服务器中accept()返回EINTR的机制与处理方案

在写多进程 TCP 服务器的时候,accept()返回EINTR恐怕是新手和老手都绕不过去的一个老熟人。很多人第一次遇到它时,一脸茫然:明明监听 socket 一切正常,客户端也确实发来了连接,为什么accept()就是不肯把连接交给我&…

2026/10/5 3:04:50 阅读更多 →

日新闻

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:22 阅读更多 →
AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

1. 从“plugins”这个词说起:它到底在解决什么问题如果你最近在折腾 AI 编程工具,尤其是 Cursor、Codex CLI、Claude Code 这类带 CLI 的编辑器或命令行助手,那你大概率绕不开一个词——plugins。这个词本身不新鲜,从浏览器到 IDE…

2026/10/5 0:00:23 阅读更多 →
第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:23 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 1:10:22 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:14:29 阅读更多 →