D
开发工具箱

技术教程

深入理解各种开发工具背后的技术原理:编码、加密、哈希、正则表达式……没有废话,全是内功。

目前已收录 72 篇教程

安全工具

Tcpdump 由浅入深:从抓第一个包到企业实战排障

从一次线上连接超时的排查讲起,搞懂 tcpdump 的安装与基本命令、输出每一列的含义、BPF 表达式怎么写,手把手演示拿到一段原始抓包输出如何逐字段分析,并系统总结企业中 tcpdump 在故障排查、性能分析、安全自查与容器网络里的真实用法

安全工具

Wireshark 实战:从抓第一个包到追踪完整数据流

从一次接口偶发 504 的排查讲起,搞懂 Wireshark 的三窗格界面、捕获过滤器与显示过滤器的区别,手把手演示拿到一个原始数据包怎么逐层分析、怎么用 Follow Stream 追踪完整数据流,以及企业里它到底用在哪些场景

安全工具

Firewalld 入门:概念、原理与常用命令实战

从一次真实翻车讲起,搞懂 firewalld 的区域(Zone)、运行时与永久配置、数据包匹配流程与端口转发原理,并附配合站内 Firewalld 命令生成器可直接复制的常用命令

安全工具

iptables 入门:原理、常用命令与和 firewalld 的关系

从一次"改了规则却连不上"的翻车讲起,搞懂 iptables 的 netfilter 五链四表、规则匹配与 NAT 原理,并附配合站内 Iptables 命令生成器可直接复制的常用命令,以及与 firewalld 的底层关系对照

网络工具

HTTP 与 HTTPS 详解:从三次握手到 TLS 1.3 的完整链路

从输入 URL 到页面渲染的完整链路讲起,拆解 TCP 三次握手与四次挥手、HTTP 报文结构、HTTP/1.1 到 HTTP/3 的演进,以及 HTTPS 的 TLS 1.2 与 1.3 握手全流程

安全工具

Google Hacking 语法与实战:资产暴露面自查

理解 Google Hacking(GHDB)常用运算符与工作逻辑,掌握 site/inurl/intitle/filetype 等限定组合,并用常见 dork 对自有资产做暴露面自查,及时收敛泄露

安全工具

sqlmap 常用命令与参数详解

从零理解 sqlmap 的工作流程,掌握目标指定、注入技术、检测等级与风险、绕过 WAF、数据库枚举与拖库、OS 命令执行等核心参数,并能组合出实战命令

安全工具

Nmap 命令详解:扫描类型、参数与实战用法

从零理解 nmap 的核心扫描类型(SYN/全连接/UDP/主机发现)、服务版本与 OS 探测、NSE 脚本、端口范围与速率调优,并掌握组合出实战命令的方法

Web3 / 区块链

区块链地址校验:别把 0x4e… 抄成 0x4E… 就敢转账

从一个把 ETH 地址里字母大小写改错、差点转丢资产的真实案例讲起,搞懂以太坊 EIP-55 校验和、比特币 Base58Check 双重 SHA256 校验、波场与 Solana 地址各自怎么验,以及为什么「格式合法」不等于「地址有人」

Web3 / 区块链

BIP39 助记词:你的私钥其实就藏在那 12 个英文单词里

从一次把助记词抄错一个字母、钱包死活导不出来的真实惊吓讲起,搞懂 BIP39 助记词是怎么由熵生成、怎么用校验和防抄错、又怎么派生出那串 64 字节种子的,以及「第 25 个词」密码到底意味着什么

编程转换

WCAG 对比度:别让用户眯着眼才能看清你的按钮

从一个"灰色小字看不清被投诉"的真实场景讲起,搞懂 WCAG 对比度比值怎么算、AA 和 AAA 到底要求多少、普通文本和大文本为什么门槛不同,以及配色不达标时怎么快速救回来

安全工具

JWT 原理全解:JWS、JWK、JKU、KID 与签名验证

从 JWS 紧凑序列化讲起,搞懂 JWT 的三段结构、Base64Url 编码、HS256 与 RS256 签名、JWK/JWK Set 如何用 JSON 表达密钥、jku/jwk/kid 如何定位验证密钥,以及算法混淆攻击与防御,并配可播放原理图

时间日期

日期差计算:别再掰着手指头数"还有多少天过年"

从一次把项目周期算少一个月的汇报事故讲起,搞懂两个日期相差多少天/周/月/年、工作日怎么数、为什么"含结束当天"会多一天,以及日期加减小技巧

时间日期

时区转换:为什么"北京时间加 8 小时"在夏令时会翻车

从一次跨国会议"我到了你没来"的尴尬讲起,搞懂 IANA 时区、UTC 偏移、夏令时,以及为什么时区转换不能简单加减固定小时,附全球主要城市时差速查

文档转换

HTML 格式化:把一团乱麻的标签理顺,或压成一行带走

从一次"从网页复制下来的 HTML 缩进全乱"的崩溃讲起,彻底搞懂 HTML 美化(缩进、折叠空白、标签名小写)和压缩(去掉换行与多余空格、可选保留注释)到底在做什么,以及为什么前端上线前要把 HTML 压一遍

文档转换

SQL 格式化:把一行挤死人的查询,拆成能喘气的样子

从一次"两百行的 WHERE 条件全挤在一行"的代码评审讲起,彻底搞懂 SQL 美化(关键字大写、子句换行、JOIN 与条件缩进)和压缩到底在做什么,以及 MySQL、PostgreSQL、SQL Server 在格式化上需要注意的兼容差异

编程转换

Cron 表达式:那串看似神秘、实则讲道理的定时密码

从一次线上定时任务"莫名不触发"的事故讲起,彻底搞懂 Cron 表达式的 5 段格式、* , - / 四个符号、日期与星期的"或"逻辑、Quartz 与 Linux crontab 的字段差异,以及时区和闰年给调度埋下的坑

哈希散列

Bcrypt 哈希详解:为什么存密码绝不能用 MD5

深入理解 Bcrypt 密码哈希的工作原理、cost factor 的作用,以及它为什么比 MD5/SHA 更适合存用户密码

安全工具

X.509 证书解析详解:HTTPS 背后那张证书在说什么

深入理解 X.509 证书的结构、PEM/DER 编码、证书链与信任模型,以及如何看懂证书里的关键字段

编程转换

颜色转换详解:HEX/RGB/HSL/CMYK 背后的颜色空间

深入理解 HEX、RGB、HSL、CMYK 四种颜色表示的本质区别:加色与减色、设备相关与感知均匀,以及什么时候该用哪个

CSS 工具

CSS 渐变详解:linear-gradient 背后的插值原理

深入理解 CSS 线性/径向/圆锥渐变的工作原理、色标插值方式、角度计算,以及为什么渐变颜色有时发灰

生成工具

模拟数据生成详解:假数据为什么也要「真」

深入理解模拟数据生成的意义、本地化与格式约束、真实感与隐私的平衡,以及 mock 数据在开发流程中的角色

图片工具

图片 Base64 互转详解:Data URI 的取舍

深入理解图片与 Base64 Data URI 的转换原理、体积膨胀代价,以及什么时候该内嵌、什么时候反而更慢

图片工具

图片压缩详解:有损与无损的权衡之道

深入理解图片压缩的原理:有损 vs 无损、DCT 变换、色彩抽样,以及如何在体积和画质之间找到平衡

图片工具

图片格式转换详解:选对格式比压参数更重要

深入理解 PNG/JPG/WebP/GIF/BMP 各格式的特性、有损无损的转换限制,以及为什么有些转换是单向不可逆的

网络工具

IP 地址查询详解:一个 IP 能暴露多少信息

深入理解 IP 归属地查询、ASN、反向 DNS、代理/VPN/数据中心检测的原理,以及为什么 IP 定位不可能精确到家门

JS 工具

JS 在线运行详解:浏览器里的执行环境与沙箱

深入理解 JavaScript 的运行环境、REPL 执行模型、浏览器沙箱隔离,以及在线运行器背后的 console 重定向原理

网络工具

IP 子网计算详解:CIDR 和子网掩码到底在算什么

深入理解 IP 子网划分、CIDR 表示法、子网掩码、网络地址与广播地址的计算原理,搞懂 /24 /16 到底意味着什么

文档转换

JSON 转 TypeScript 详解:从数据反推类型

深入理解从 JSON 反推 TypeScript 接口定义的原理、类型推断的合并策略、联合类型与可选字段,以及它的局限

文本处理

Markdown 预览详解:从纯文本到富文本的渲染

深入理解 Markdown 的设计哲学、常见方言差异、CommonMark 标准化,以及为什么不同平台渲染结果不一样

网络工具

多地 Ping 详解:从全球测延迟意味着什么

深入理解 Ping 和 ICMP 协议、RTT 延迟的构成、为什么不同地区延迟差很大,以及 CDN 如何用多地视角来优化

安全工具

密码生成器详解:什么样的密码才算强

深入理解随机密码的熵、字符集与长度的权衡,为什么密码长度比复杂度更重要,以及如何生成真正随机的密码

安全工具

密码强度检测详解:强度条到底在算什么

深入理解密码强度检测的原理:熵估算、字典匹配、模式识别,以及为什么 zxcvbn 比简单规则更靠谱

编程转换

二维码生成详解:QR 码为什么能扫还能纠错

深入理解 QR 码的结构、定位图案、纠错机制 Reed-Solomon,以及版本/容量/纠错等级如何影响能存多少数据

安全工具

反弹 Shell 详解:原理、用法与防御

深入理解反弹 Shell 的工作原理、与正向 Shell 的区别、各语言实现思路,以及作为防御者如何检测和拦截它

网络工具

SEO 综合查询详解:搜索引擎到底看什么

深入理解 SEO 检测的各个维度:Meta 标签、Open Graph、结构化数据、页面性能,以及为什么 SEO 评分只是参考不是圣旨

加密解密

SM4 加密详解:国密对称加密标准

深入理解国密 SM4 算法的工作原理、与 AES 的异同,以及为什么国内政务、金融、等保 2.0 场景必须使用它

文本处理

中文处理详解:简繁转换与拼音背后的编码学问

深入理解简繁体中文转换的字对字 vs 词对字问题、拼音标注的声调规则,以及 Unicode 对中文的处理方式

安全工具

TOTP 详解:两步验证背后的时间密码

深入理解 TOTP/HOTP 一次性密码的工作原理:为什么 30 秒一变、它和 HMAC 的关系、以及为什么离线验证器能算出和服务器一样的码

网络工具

URL 解析详解:一个网址里藏着多少组件

深入理解 URL 的标准结构:协议、主机、端口、路径、查询参数、锚点,以及 WHATWG URL 标准如何处理边界情况

生成工具

UUID 详解:全局唯一标识的原理与版本之争

深入理解 UUID 各版本(v1/v3/v4/v5/v7)的生成原理、冲突概率、为何 v4 最常用,以及 v7 为何是新趋势

加密解密

AES 加密详解:对称加密的工业标准

深入理解 AES 加密算法的工作原理、分组模式和填充方案,以及为什么它能成为全球加密标准,替代老旧的 DES

编码解码

什么是 Base64?深入理解 Base64 编码原理与应用

从零理解 Base64 编码的原理:为什么需要它、如何工作、URL-safe 变体是什么,以及在 JWT、Data URI 等场景的实际应用

编码解码

二进制编码基础:理解计算机如何表示文本

从二进制的最基本概念出发,理解计算机如何用 0 和 1 表示文字、数字和一切数据,掌握位运算的基本思维,以及 ASCII、字节与比特的关系

编码解码

字符编码转换:彻底告别乱码问题

彻底搞懂字符编码转换的底层逻辑:GBK vs UTF-8 vs ISO-8859 的关系、乱码产生的根本原因、以及如何正确地做编码检测和转换来避免生产事故

加密解密

DES 加密:一个时代的落幕与启示

回顾 DES 加密算法的兴衰历程:56 位密钥为何从国家机密变成 24 小时就能暴力破解、Feistel 网络结构的精妙设计、以及从 DES 到 3DES 再到 AES 的进化之路带给我们的工程启示

哈希散列

哈希算法全家桶:一文看懂 MD5 到 SHA-3 的演进

梳理哈希算法家族的完整演进图谱:从 MD5 到 SHA-3 的设计迭代、每个算法的安全状态和适用场景、以及一个简单的决策框架帮你选对哈希算法

编码解码

十六进制编码:为什么程序员离不开 Hex

全面理解十六进制:从二进制与十六进制的完美映射、Hex 在哈希、调试和颜色中的无处不在、以及 hex dump 如何帮你读懂任何二进制文件

哈希散列

HMAC 消息认证码:如何确保数据没被篡改

搞懂 HMAC(Hash-based Message Authentication Code)的核心原理:为什么单纯的哈希不够用、ipad 和 opad 两个魔术常数的作用、以及 HMAC 在 JWT、AWS API 签名和 Webhook 验证中的关键应用

编码解码

HTML 实体编码:防止 XSS 的第一道防线

深入理解 HTML 实体编码机制:从 < 到 & 的完整解码原理、HTML 实体在 XSS 防御中的关键作用、以及现代 Web 开发中的最佳实践

数据格式

JSON 格式化:结构化数据的通用语言

理解 JSON 作为数据交换标准的方方面面:从 Douglas Crockford 的一页纸规范到全球 API 的通用语言、JSON.stringify 的隐藏陷阱、以及它如何取代 XML 成为 Web 数据格式的王者

数据格式

JSON 与 XML 的转换:两种数据格式的世纪之争

回顾 JSON 与 XML 的格式之争:两者如何在 Web 发展史中交替领跑、XML Schema 和命名空间的独特优势、以及金融和政府系统为何至今仍坚守 XML 阵地

数据格式

JSON 与 YAML 互转:配置文件格式的选择之道

掌握 JSON 与 YAML 的互转原理:YAML 如何解决 JSON 对人类不友好的问题、缩进敏感性的代价、挪威问题(Norway Problem)等经典 YAML 陷阱、以及为什么 DevOps 工具偏爱 YAML

编码解码

JWT 深度解析:Token 里的三个部分分别藏着什么

深度剖析 JWT(JSON Web Token)的结构:Header、Payload 和 Signature 各部分的含义与解码、Base64URL 编码在 JWT 中的应用、以及 JWT 不等于加密这个常被误解的事实

哈希散列

MD5 哈希:曾经的安全明星,如今的教训

回顾 MD5 哈希算法的兴衰:从互联网早期的安全基石到被王小云教授的碰撞攻击击溃、MD5 现在还能用来做什么(和绝对不能做什么)、以及它给密码学留下的宝贵教训

编程转换

进制转换的本质:为什么计算机用二进制而人类用十进制

从进制转换的本质出发:二进制、八进制、十进制、十六进制各自的应用场景、parseInt 的 radix 参数为什么应该是必填的、以及 Unix 文件权限的八进制表示背后的设计逻辑

正则表达式

正则表达式实战:从入门到不再恐惧

攻克正则表达式的心魔:从元字符到捕获组的系统化学习路径、三次回溯灾难的真实案例、以及那些写出来自己都看不懂的正则到底该怎么维护

加密解密

RSA 加密原理:从大数分解到 HTTPS 的基石

从数学直觉理解 RSA 非对称加密的核心原理:为什么两个大素数相乘容易、分解难、公钥与私钥的数学关系、RSA 签名与加密的区别、以及在 HTTPS 和 SSH 中的应用

加密解密

RSA 密钥对生成:从数学原理到实战操作

掌握 RSA 密钥对生成的完整流程:如何选择模长、生成大素数、推导公钥指数 e 和私钥 d、以及 PEM/DER 格式的区别和 openssl 命令行实战操作

哈希散列

SHA-1 的黄昏:从 Git 到碰撞攻击

见证 SHA-1 的终结:Google SHAttered 攻击如何用两个不同 PDF 生成相同 SHA-1 哈希值、Git 从 SHA-1 到 SHA-256 的艰难迁移之路、以及为什么任何系统都不应再信任 SHA-1

哈希散列

SHA-256 哈希详解:区块链和 TLS 背后的功臣

深入理解 SHA-256 哈希算法:从消息填充到压缩函数的完整加密流程,以及在比特币挖矿、TLS 证书、Git 等场景中的核心角色

哈希散列

SHA-3 (Keccak):密码学哈希的新一代标准

探索 SHA-3(Keccak)的创新之处:海绵结构如何从根本上不同于 SHA-2、为什么 NIST 选择了它作为备用标准、以及 SHA-3 在抗量子攻击和长度扩展攻击方面的天然优势

哈希散列

SHA-512:当你需要比 SHA-256 更强的保障

深入理解 SHA-512:为什么它的 64 位内部运算在 64 位 CPU 上反而比 SHA-256 更快、SHA-512/256 截断变体的精妙之处、以及在 Linux 密码存储等高安全场景的实战应用

哈希散列

国密 SM3 哈希:中国密码法背后的算法

了解中国国家密码标准 SM3 哈希算法:SM3 与 SHA-256 的设计差异、在金融和政务系统中的强制应用场景、以及《密码法》对国内密码技术选型的影响

文本处理

文本大小写转换:命名规范的幕后逻辑

理解文本大小写转换的工程意义:camelCase vs snake_case 的意识形态之争、为什么土耳其语的 İ 能搞崩你的代码、以及 Unicode 大小写折叠远比 .toUpperCase() 复杂的原因

文本处理

字数统计背后的字符编码陷阱

揭开字数统计的复杂性:为什么一个 emoji 在 JavaScript 里长度可能是 7、中英文混排时如何正确统计、以及 Twitter 的 280 字限制在不同语言下到底怎么算的

文本处理

文本差异对比算法:Myers Diff 的精妙之处

深入文本差异对比(Diff)的算法内核:从 Myers Diff 的编辑图最短路径思路到 Git 实际使用的 Histogram Diff、LCS(最长公共子序列)的求法、以及为什么大文件 Diff 会这么慢

编程转换

Unix 时间戳:那个从 1970 年开始计数的数字

彻底搞懂 Unix 时间戳:为什么从 1970 年 1 月 1 日开始计数、32 位溢出导致的 2038 年问题、时间戳 vs ISO 8601 的选型建议、以及时区给时间戳计算埋下的那些坑

编码解码

Unicode 编码入门:从 \uXXXX 到字符集的完整图景

从零理解 Unicode 字符编码体系:UTF-8 vs UTF-16 vs UTF-32 的区别、码点与字符的关系、以及你为什么会遇到乱码和如何彻底解决

编码解码

URL 编码完全指南:为什么你的链接里全是百分号

彻底理解 URL 编码(百分号编码)的原理:为什么 URL 里不能有空格和中文字符、哪些字符需要编码、encodeURI vs encodeURIComponent 的区别及常见陷阱

数据格式

YAML 解析陷阱:那些让你踩坑的缩进和类型推断

揭开 YAML 解析中的常见陷阱:YAML 的隐式类型推断如何把字符串变成布尔值、多行字符串的 | 与 > 操作符区别、以及从 YAML 安全转换到 JSON 的最佳实践

数据格式

XML 解析实战:从 SOAP 到现代 API 的迁移

掌握 XML 到 JSON 的转换挑战:属性 vs 子元素的映射困境、命名空间的丢失问题、CDATA 的处理方式、以及为什么说 XML 到 JSON 的转换永远不是无损的