Verhoeff Algorithm Validator
Validate full Verhoeff checksum with right-to-left standard dihedral/permutation convention, not Damm or Luhn and not authenticity.
Description
Verhoeff validation uses a decimal check-digit structure.
Verhoeff validation uses a decimal check-digit structure.1
A passing checksum does not authenticate an identifier or confirm that an issued record exists. Use Verhoeff Algorithm Validator to evaluate the supplied inputs under the specific model below.
When to use Verhoeff Algorithm Validator
Use Verhoeff Algorithm Validator to evaluate the supplied inputs under the specific model below. Choose the intended encoding, alphabet or check and keep the exact character, key and measurement conventions described below.
How to use Verhoeff Algorithm Validator and understand its results
- Choose the intended encoding, alphabet or check and keep the exact character, key and measurement conventions described below.
- Enter Decimal digits using the field table and validation rules below, then run the tool.
- Read Interim digit, Valid verhoeff checksum and interpret units, signs, ordering and placeholders as explained below.
- If the tool reports an input error, correct that field and rerun. A successful false result, empty match list or unknown-evidence placeholder has the specific meaning described here; check the limitations before applying the result.
| Input field | Meaning | Value type | Requirement |
|---|---|---|---|
| decimalDigits | Decimal digits | string | Required; constraints below |
Enter a nonempty ASCII digit string of at most 4096 characters, including any leading zeros and the supplied check digit. Traverse digits from right to left with the fixed Verhoeff permutation and multiplication tables. Report whether the final accumulator is zero. The tool validates a supplied number and does not generate a check digit or verify its issuing system.
c=0; c←VerhoeffD[c][VerhoeffP[position mod 8][reversedDigit]]; valid = c==0 Field order, units and branch conditions follow the implementation explanation above.
| Output field | Meaning | Value type |
|---|---|---|
| interimDigit | Interim digit | number |
| validVerhoeffChecksum | Valid verhoeff checksum | boolean |
{
"input": {
"decimalDigits": "2363"
},
"output": {
"interimDigit": 0,
"validVerhoeffChecksum": true
}
} Limitations and assumptions
A passing checksum does not authenticate an identifier or confirm that an issued record exists. Apply the exact scope and assumptions described above.
All listed fields require explicit values. Unexpected fields, incorrect types, nonfinite numbers and sparse arrays fail validation. Domain-specific bounds, alignments and supported tokens are stated above; extremely large inputs or outputs can also be rejected. These errors differ from successful results such as false, no matches or unknown evidence.
Alternative or Complementary methods
Use IBAN mod-97 Validator for a related task: An IBAN check validates a modular checksum within a canonical text envelope.
Use Damm Algorithm Validator for a related task: Damm validation processes decimal digits through a quasigroup table.
References
-
Verhoeff Algorithm Validator — tool.io
Similar or alternative tools
- IBAN mod-97 Validator
An IBAN check validates a modular checksum within a canonical text envelope.
- Damm Algorithm Validator
Damm validation processes decimal digits through a quasigroup table.