AAMVA körkortsstreckkod
2D-streckkoden på baksidan av varje amerikanskt körkort är en PDF417-symbol som kodar kortinnehavarens identitetsfält enligt AAMVA Card Design Standard. Ursprungligen specificerad 2000, för närvarande version 10 (2020).
Barcode symbology: PDF417 (ISO/IEC 15438).
Prior versions: v8 (2013), v9 (2016), v10 (2020).
Vad det är
En AAMVA-streckkod är en PDF417-symbol vars avkodade payload börjar med en fast header, sedan ett 'subfil' per datadomän. Kärn-subfilen är DL (körkort).
Header structure:
@
ANSI <IIN><version><jurisdiction version><subfile count>DL<subfile offset><subfile length>Elementkoder
Each data element is a 3-character code followed by its value. The most common:
| Code | Meaning | Format |
|---|---|---|
DAC | First name | Text |
DCS | Last name | Text |
DBB | Date of birth | MMDDYYYY |
DBA | License expiration | MMDDYYYY |
DAQ | License number | Alphanumeric |
DAG | Street address | Text |
DAI | City | Text |
DAJ | State | 2-char |
DAK | ZIP code | 5 or 9 digits |
DCF | Document discriminator | Jurisdiction-specific |
Utfärdar-ID-nummer (IIN)
Varje delstat i USA har ett 6-siffrigt IIN tilldelat av AAMVA. Exempel:
| State | IIN | State | IIN |
|---|---|---|---|
| California | 636014 | New York | 636001 |
| Texas | 636015 | Florida | 636010 |
| Illinois | 636035 | Pennsylvania | 636025 |
Version differences
| Version | Published | Key changes |
|---|---|---|
| v8 | 2013 | Added the compliance header. Baseline for modern parsers. |
| v9 | 2016 | Clarified DCF format. Added truncation flags. |
| v10 | 2020 | Added document-image elements; relaxed height units. |
Vad riktiga körkort har som ett utskrivet AAMVA-streckkodsmärke INTE har
Detta är viktigt för antifraud-arbetsflöden: en PDF417 som tolkas korrekt är inte samma sak som ett äkta körkort. Fysiska körkort förlitar sig på:
- Hologram, statsemblem, laminatmönster, optiskt variabla enheter.
- UV/IR-funktioner, bläck synligt endast under 365nm UV eller IR.
- Mikrotryck, 0,2mm text inbäddad i kortet.
- Taktila funktioner, upphöjda ytor på namn och födelsedag.
- Kryptografisk attestering (Mobile DL), ISO/IEC 18013-5 mDL är det framväxande digitala signaturlagret.
Åldersverifieringskiosker som enbart förlitar sig på PDF417-tolkning förfalskas rutinmässigt. Produktionsarbetsflöden måste kombinera streckkodstolkning + minst en fysisk funktionstestning.
Kanoniska testvektorer
Använd uppenbart syntetiska data när du genererar testpayloads. JOHN TEST, JANE SAMPLE, födelsedatum i framtiden eller före 1900.
| Fall | Inmatningar | Förväntad header substring |
|---|---|---|
| Kalifornien v10, syntetisk | jurisdiction=CA | ANSI 636014100002DL |
| Texas v10, syntetisk | jurisdiction=TX | ANSI 636015100002DL |
| New York v9, syntetisk | jurisdiction=NY | ANSI 636001090002DL |
Vanliga fallgropar
- Saknad compliance-header. Tolkar som läser från
ANSIoch hoppar över@\x1e\r-prefixet avvisar din payload. - Felaktigt datumformat. AAMVA använder
MMDDYYYY, inteYYYY-MM-DD. - Höjdenheter. v10 accepterar både tum och centimeter. Äldre versioner accepterar bara tum.
- Namntrunkflaggor.
DDE/DDF/DDGmåste varaT,NellerU. - Jurisdiktionsspecifika elementkoder. Delstater lägger till
ZA-ZZ-koder. Okända koder ska hoppas över, inte avvisas. - IIN-mismatch. Ett kaliforniskt körkort med IIN 636015 (Texas) tolkas korrekt men misslyckas vid varje post-tolkningskontroll.
Skannerkompatibilitet
| Läsare | Stöd | Anteckningar |
|---|---|---|
| iOS Camera (iOS 17+) | Körkortsmedveten | Plånboksapp känner igen AAMVA-payloads. |
| Android Camera | Inte nativt | Behandlar som rå PDF417. |
| Google Lens | Bara rå PDF417 | Visar avkodad text utan AAMVA-tolkning. |
| Kommersiell ID-verifikations-SDK (IDEMIA, Jumio, Onfido) | Fullständig tolkning | Industristandard för åldersverifieringskiosker. |
| Industriell PDF417-skanner (Zebra, Honeywell) | Fullständig tolkning | De flesta moderna firmware inkluderar AAMVA-tolkning. |