MD5相关的常用正则表达式:匹配与校验写法

33 0

MD5 是一种哈希(散列)算法,把任意长度的数据计算成固定 128 位(16 字节)的摘要,通常写成 32 位十六进制字符串。下面重点说明匹配与校验写法。

MD5相关的常用正则表达式

  • 匹配 32 位十六进制 MD5 值:^[a-fA-F0-9]{32}$
  • 从文本中找出 MD5 值:\b[a-fA-F0-9]{32}\b

不同语言中反斜杠可能需要再转义一次;用于校验时记得加上 ^ 和 $。

示例

输入:a+b=c

计算结果:c6d223eafd71470302a8b78e6d137648

说明:对 UTF-8 字节计算 MD5。

规则说明

  • 输入是字节:同一段中文按 UTF-8 和 GBK 计算,结果不同
  • 输出通常用小写十六进制表示,大小写不影响比较
  • 也可以用 Base64 表示(16 字节编码为 24 个字符)
  • 比较两个摘要时应使用常量时间比较函数,防止时序攻击

JavaScript 示例

下面是 JavaScript 中处理MD5的常用写法:

// Node.js
const crypto = require("crypto");
crypto.createHash("md5").update("abc", "utf8").digest("hex");
// 900150983cd24fb0d6963f7d28e17f72
// 浏览器的 Web Crypto 不支持 MD5,需要使用第三方库(如 spark-md5)

运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。

本站的MD5计算器工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。

常见问题

【同一个文本为什么算出的 MD5 不一样?】通常是输入字节不同:字符集不同、末尾多了换行或空格、全角半角不同。

【MD5 还安全吗?】已不安全,只适合校验意外损坏,不能用于签名和密码存储。

【空字符串的 MD5 是多少?】d41d8cd98f00b204e9800998ecf8427e。

文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: MD5 文本处理

抱歉,评论功能暂时关闭!