Files
proxmark3/tools
Paul KilarandClaude Opus 5 8bb7d1191a ePassport: render the MRZ personal number without its fillers
9303 Part 4, positions 29 to 42: "Any special characters, including spaces,
in the personal identification number ... shall be replaced by the filler
character (<). The number shall be followed by the filler character (<)
repeated up to position 42."

So the field holds two different kinds of filler.  The trailing run is
padding, which was already stripped, but a filler inside the number stands
for a space or special character substituted on the way in, and those were
printed as they came - a US passport showed its personal number with a '<'
in the middle of it.

Strip the padding, then put a space back for what remains.  It is the
closest recovery available: the original could have been a hyphen, and the
MRZ does not keep which.

optional_data itself stays a faithful copy of the field.  Nothing else
reads it, and it is the personal number that is being rendered here.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-01 14:44:34 -04:00
..
2023-05-27 17:00:28 +02:00
2026-08-19 19:28:17 +02:00
2026-07-15 16:39:15 +02:00
2026-06-07 23:01:20 +02:00
2022-12-31 10:03:17 +01:00
2025-04-29 11:33:22 -04:00
2026-08-29 17:15:52 +02:00
2021-10-06 20:06:17 +02:00
2024-01-07 18:05:48 +01:00
2022-02-13 12:19:06 +01:00
2021-10-06 20:27:55 +02:00
2023-10-15 10:11:27 +02:00
2026-08-28 01:16:30 +02:00
2021-10-06 20:27:55 +02:00
2021-10-06 20:27:55 +02:00
2024-09-13 13:44:16 +02:00
2021-10-06 20:27:55 +02:00
2026-03-23 22:36:47 +01:00