英国护照 MRZ 怎么检查?TD3 机读码校验位原理与在线自洽核验工具
这篇文章用最直观的方法拆解护照 MRZ 的 7-3-1 校验规则,并提供一个浏览器本地运行的自洽核验工具:只需要填写姓名、性别、护照号、出生日期、签发日期和到期日期,点击一次即可自动完成格式标准化与校验位计算,不需要手工输入几十个 < 填充符。
P<UTOERIKSSON<<ANNA<MARIA<<<<<<<<<<<
L898902C36UTO7408122F1204159ZE184226B<<<<<10
上面是 ICAO 常见的虚构示例,签发国代码使用 UTO,避免与真实证件混淆。
01 · 基础
MRZ 是什么?
MRZ 是 Machine Readable Zone,即机器可读区。护照常见的 TD3 格式使用两行机读码,每行固定 44 个字符。字符集合主要由大写英文字母、数字和填充符 < 组成。
英国政府现行 Series C / Series D 护照资料显示,护照号码为 9 位数字。对于英国护照,这可以作为格式检查的一项,但仍然不能单独证明证件真实。
本页聚焦的是 TD3 MRZ 的字符串结构与校验位。它适合发现“号码、日期、校验位明显拼错”的低级伪造,但不是官方身份验证服务。
02 · 结构
两行 44 位到底怎么分?
| 位置 | 字段 | 长度 | 说明 |
|---|---|---|---|
| 1–9 | 证件号码 | 9 | 英国护照通常为 9 位数字 |
| 10 | 证件号校验位 | 1 | 对位置 1–9 使用 7-3-1 计算 |
| 11–13 | 国籍代码 | 3 | 英国通常为 GBR |
| 14–19 | 出生日期 | 6 | YYMMDD |
| 20 | 出生日期校验位 | 1 | 对位置 14–19 计算 |
| 21 | 性别 | 1 | 通常使用 M、F 或未指定标记 |
| 22–27 | 到期日期 | 6 | YYMMDD |
| 28 | 到期日期校验位 | 1 | 对位置 22–27 计算 |
| 29–42 | 个人编号 / 可选区 | 14 | 没有内容时常使用 < 填充 |
| 43 | 可选区校验位 | 1 | 对位置 29–42 计算 |
| 44 | 综合校验位 | 1 | 对指定字段重新连续计算 |
03 · 算法
校验位 = 字符值 × 7、3、1 循环,再取余数
ICAO 的 MRZ 校验规则可以压缩成一句话:
0–9 按本身数值计算。
A=10,B=11,一直到 Z=35。
< = 0。
7, 3, 1, 7, 3, 1… 持续循环。
最后的“取余数”也可以简单理解成:如果总和是正整数,只看除以 10 后的余数。比如 169 mod 10 = 9,因此校验位是 9。
04 · 示例
一步步算:为什么 548271936 的校验位是 9?
35 + 12 + 8 + 14 + 21 + 1 + 63 + 9 + 6 = 169
169 mod 10 = 9
所以测试号码 548271936 的校验位为 9。同样的方法:
010423→ 0290517→ 6指定字段连续计算→ 205 · 工具
在线自洽核验:填写可视信息 → 一键自动计算
这一部分就是实际使用的计算器。你不需要自己写 <,也不需要手动组织 44 位字符串。填写证件上肉眼能看到的资料后,点击一次即可自动完成姓名标准化、日期转换、填充长度和 7-3-1 校验位计算。所有计算仅在当前浏览器中进行。
第一步:填写证件上可见的信息
第二步:点击一次,自动完成计算
程序会自动完成日期 YYMMDD 转换、姓名字段规范化、填充长度,以及护照号、出生日期、到期日期、可选区和综合字段的校验位计算。
自动计算结果
用于逐项比对可疑证件
06 · 边界
为什么 MRZ 全部通过,仍然不能证明证件是真的?
校验位本质上是错误检测机制,不是密码学签名。任何知道规则的人都能计算出数学上自洽的字符串。因此,MRZ 的价值主要是发现录入错误、格式错误和低级伪造,而不是独立完成身份真实性判断。
MRZ 自洽检查能发现
- 护照号码校验位错误
- 出生日期校验位错误
- 到期日期校验位错误
- 可选区或综合校验位错误
- MRZ 与可视区姓名、号码、日期明显不一致
- 长度不是 44 × 2、出现非法字符等格式问题
MRZ 自洽检查不能证明
- 护照是否由 HM Passport Office 真正签发
- 芯片中的数据和数字签名是否有效
- 照片是否被替换或合成
- 全息图、UV、激光雕刻等防伪是否真实
- 证件是否被盗用
- 与你聊天的人是否就是证件持有人
英国政府的身份文件检查指南也把 MRZ 视为基础检查的一部分;更高级的文档验证还会检查芯片、模板、安全特征以及不同光源下的表现。
07 · FAQ
常见问题
为什么第一行姓名没有校验位?
TD3 的校验位集中在第二行的证件号码、出生日期、到期日期、个人编号 / 可选区以及最后的综合校验位。第一行主要包含证件类型、签发国和姓名。
姓名为什么是姓在前、名在后?
TD3 的姓名字段使用姓氏在前、名字在后的结构,中间用两个填充符 << 分隔;名字内部的空格通常转换成单个 <。长姓名还可能被截断,因此姓名比较只能作为辅助判断。
为什么签发日期不能从 MRZ 里算出来?
因为 TD3 MRZ 没有“签发日期”字段。MRZ 中有出生日期和到期日期,但签发日期只存在于证件可视区等其他位置。
综合校验位到底算哪些位置?
TD3 第二行的综合校验位使用位置 1–10、14–20、22–43 依次拼接后重新应用 7-3-1 规则。位置 11–13 的国籍代码以及位置 21 的性别不参与综合校验位计算。
一个陌生人发来的护照截图 MRZ 全通过,可以信吗?
不可以只凭这一项判断。校验位是公开算法,图片也可能被编辑、盗用或重新制作。涉及付款、租房、投资或身份担保时,应使用更可靠的验证流程,而不是把一张护照截图当作信任凭证。
08 · 来源
参考资料
- ICAO Doc 9303 Part 3 — Specifications Common to all MRTDs
- ICAO Doc 9303 Part 4 — Machine Readable Passports / TD3
- GOV.UK — Basic passport checks
- GOV.UK — Guidance on examining identity documents
- EMVLab — MRZ Calculator
本文与工具仅用于学习、测试、识别明显不自洽信息和防范诈骗,不是政府身份验证服务,也不应被用于制作、修改或伪造旅行证件。















暂无评论内容