stdnum.verhoeff

The Verhoeff algorithm.

The Verhoeff algorithm is a checksum algorithm that should catch most common (typing) errors in numbers. The algorithm uses two tables for permutations and multiplications and as a result is more complex than the Luhn algorithm.

More information:

The module provides the checksum() function to calculate the Verhoeff checksum a calc_check_digit() function to generate a check digit that can be append to an existing number to result in a number with a valid checksum and validation functions.

>>> validate('1234')
Traceback (most recent call last):
    ...
InvalidChecksum: ...
>>> checksum('1234')
1
>>> calc_check_digit('1234')
'0'
>>> validate('12340')
'12340'
stdnum.verhoeff.calc_check_digit(number)

Calculate the extra digit that should be appended to the number to make it a valid number.

stdnum.verhoeff.checksum(number)

Calculate the Verhoeff checksum over the provided number. The checksum is returned as an int. Valid numbers should have a checksum of 0.

stdnum.verhoeff.is_valid(number)

Check if the number provided passes the Verhoeff checksum.

stdnum.verhoeff.validate(number)

Check if the number provided passes the Verhoeff checksum.