VIN (Vehicle Identification Number) check digit calculation per ISO 3779 and SAE J853. 17-character alphanumeric code using weighted sum modulo 11. Position 9 is check digit (0-9 or X). Used for automotive vehicle identification worldwide.
| Property | Value |
|---|---|
| Category | Checksums |
| Sub-category | Vehicle Identification |
| Security status | π Educational Only |
| Complexity | Intermediate |
| Inventor | National Highway Traffic Safety Administration (NHTSA) |
| Year | 1981 |
| Origin | πΊπΈ United States |
| Source | algorithms/checksum/vin-checksum.js |
Status: π Educational Only
No vulnerabilities are recorded for this implementation.
3 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 β VIN with check digit X (1M8GDM9AXKP042788)
| Field | Value |
|---|---|
input |
314d3847444d3941584b50303432373838 |
expected |
0a |
Vector 2 β VIN all ones (11111111111111111)
| Field | Value |
|---|---|
input |
3131313131313131313131313131313131 |
expected |
01 |
Vector 3 β VIN example (5YJ3E1EAXHF000316)
| Field | Value |
|---|---|
input |
35594a3345314541584846303030333136 |
expected |
0a |