DevToolGrid Online DevToolGrid Online
DevToolGrid Online

指南与文章

浏览 DevToolGrid Online 的 JSON、Base64、URL、JWT、Regex、时间、UUID、哈希和 HTML 工具指南。

JWT

JSON Web Token 是如何工作的,又为何不隐藏内容

JWT 用签名而非加密来保证可信。理解这一点,就能明白它能保证什么、不能保证什么。

阅读文章 / 8 分钟阅读
Regex

正则表达式是如何“阅读”文本的

正则不是魔法,而是一台按规则逐字符匹配的小机器。理解它的工作方式,那些晦涩的符号就会变得清晰。

阅读文章 / 8 分钟阅读
URL

URL 是如何把一段文字变成可靠的网络地址的

URL 看似只是一行字符,背后却是一套精心设计的结构,让浏览器、服务器和各种中间设备对“去哪里”达成一致。

阅读文章 / 8 分钟阅读
UUID

UUID 是如何在无需协调的情况下生成唯一标识的

UUID 让任意系统都能独立生成几乎不会重复的标识符。理解它依赖的概率与结构,就能放心地使用它。

阅读文章 / 8 分钟阅读
Time

Unix 时间,以及“表示此刻”这件难事

用一个整数表示时间听起来简单,背后却藏着关于参照点、时区和精度的诸多取舍。

阅读文章 / 8 分钟阅读
Hash

密码学哈希能证明什么,又不能证明什么

哈希把任意数据压成一段定长指纹。看清它能保证什么、不能保证什么,才能正确地使用它。

阅读文章 / 8 分钟阅读
Base64

什么是 Base64 编码,软件为什么至今仍在使用它

Base64 把二进制字节转换成可移植的文本。理解它存在的理由,就能明白那串看似杂乱的输出、末尾的填充、体积膨胀以及它的种种局限。

阅读文章 / 8 分钟阅读
HTML

HTML 实体为什么存在

有些字符既是 HTML 的语法,又是要显示的内容。实体正是为了化解这种歧义而生。

阅读文章 / 8 分钟阅读
JSON

JSON 为何成了 Web 接口的通用语言

JSON 的成功并非因为它技术上最先进,而是因为它在简单、可读和够用之间找到了恰到好处的平衡。

阅读文章 / 8 分钟阅读
Regex

避免灾难性的正则回溯

一条看似无害的正则,可能在特定输入下耗尽 CPU。理解回溯机制,是避免这类性能陷阱的关键。

阅读文章 / 8 分钟阅读
Base64

Base64 与 Base64URL:相似的编码,不同的职责

Base64URL 只改动了几个字符,但只要编码结果出现在 URL、Cookie、文件名或 JWT 里,这点差别就会变得至关重要。

阅读文章 / 8 分钟阅读
Hash

校验和、哈希与数字签名:选对完整性工具

检测偶然损坏、防范恶意篡改、证明数据来源,是三个不同的问题,需要三种不同的工具。

阅读文章 / 8 分钟阅读
UUID

如何选择合适的 UUID 版本

不同版本的 UUID 在随机性、可排序性和确定性上各有侧重。按需求选版本,才能发挥它的长处。

阅读文章 / 8 分钟阅读
JSON

排查真实应用中的 JSON 解析错误

无效的 JSON 几乎总是源于看不见的字符、错误的拼接或编码不一致。掌握定位思路,能让你快速锁定根因。

阅读文章 / 8 分钟阅读
URL

设计干净、稳定、可分享的 URL

好的 URL 既是给用户看的界面,也是一份长期承诺。它应当可读、稳定,并经得起时间的考验。

阅读文章 / 8 分钟阅读
JSON

设计经得起变化的 JSON 接口

接口一旦被使用,就很难再改。提前为演进留出空间,能让你在不破坏现有客户端的前提下持续迭代。

阅读文章 / 9 分钟阅读
Time

设计可靠的时间相关系统

定时任务、过期、限流都离不开时间。一些务实的原则,能让这类系统在真实世界里不出岔子。

阅读文章 / 8 分钟阅读
HTML

HTML 编码、解码与数据质量

编码解码若在错误的环节发生,轻则页面显示乱码,重则数据被悄悄污染。

阅读文章 / 8 分钟阅读
JWT

JWT 常见的安全错误,以及如何避免

JWT 用错了反而比会话更危险。了解几类典型陷阱,能帮你避开最常被利用的漏洞。

阅读文章 / 9 分钟阅读
JWT

JWT 还是会话:如何选择认证模型

JWT 和传统会话各有取舍。看清它们在状态、撤销和扩展上的差异,才能为你的系统选对方案。

阅读文章 / 8 分钟阅读
HTML

用上下文相关的输出编码防范 XSS

防住 XSS 的关键,不是笼统地过滤输入,而是在输出时按所处上下文正确编码。

阅读文章 / 9 分钟阅读
Time

时区、夏令时与历法里的意外

人类的时间充满了不规则规则。了解这些陷阱,能让你避开处理时间时最常见的 bug。

阅读文章 / 8 分钟阅读
URL

那些会拖垮应用的 URL 编码错误

URL 只能安全承载有限的字符。一旦在编码上出错,链接就会失效、参数会被篡改,甚至埋下安全隐患。

阅读文章 / 8 分钟阅读
UUID

UUID 在数据库和接口中的常见误用

UUID 用得不当,会拖慢数据库、撑大存储、甚至泄露信息。避开这些坑,才能享受它的好处。

阅读文章 / 8 分钟阅读
Base64

什么时候不该用 Base64:性能、安全与设计上的取舍

Base64 在纯文本边界上很有用,但到处滥用只会带来更大的载荷、额外的内存开销、虚假的安全感,以及更难维护的接口。

阅读文章 / 8 分钟阅读
Hash

为什么密码需要专门的哈希方式

普通哈希算得太快,恰恰不适合存密码。慢哈希、加盐和适当的成本,才是保护密码的关键。

阅读文章 / 8 分钟阅读
Regex

写出别人也能维护的正则表达式

能跑通的正则不等于好正则。可读、可测试、有注释的模式,才能在团队里长期存活。

阅读文章 / 8 分钟阅读