**Algorithm::CheckDigits - Perl extension to generate and test check digits**

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC

**Algorithm::CheckDigits::M11_002 - compute check digits for PZN (DE)**

ALGORITHM 1 From left to right beginning with the first position all digits are multiplied with 2,3,4,... 2 The sum of all products is computed. 3 The checkdigit ist the sum of step 2 taken modulo 11. 4 If the checkdigit is '10' the whole number is n...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M10_003 - compute check digits for ISMN**

ALGORITHM 1 The 'M' as the first number gets the value 3. Beginning left all numbers are weighted alternatively 3 and 1. 2 The sum of all products is computed. 3 The sum of step 3 ist taken modulo 10. 4 The check digit is the difference between 10 an...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M89_001 - compute check digits for VAT Registration Number (LU)**

ALGORITHM 1 The checksum is the whole number taken modulo 89. METHODS is_valid($number) Returns true only if $number consists solely of numbers and the last digit is a valid check digit according to the algorithm given above. Returns false otherwise,...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M11_003 - compute check digits for PKZ (GDR)**

ALGORITHM 1 The checkdigit is set to 0. 2 From right to left the digits are weighted (multiplied) with 2,4,8,5,10,9,7,3,6,1,2,4. 3 The products are added. 4 The sum of step 3 is taken modulo 11. 5 The value of step 4 is added to a multiple (0..9) of ...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M97_001 - compute check digits for VAT Registration Number (BE)**

ALGORITHM 1 The whole number (without checksum) is taken modulo 97. 2 The checksum is difference of the remainder from step 1 to 97. METHODS is_valid($number) Returns true if $number consists solely of numbers and the last digit is a valid check digi...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M11_012 - compute check digits for Bundeswehrpersonenkennnummer (DE)**

ALGORITHM 1 Beginning left all digits are weighted 2,3,4,5,6,7,1,6,7,2,3. Letters are replaced according to the following table: my %table_to = ( A => 12, B => 14, C => 16, D => 18, E => 20, F => 22, G => 24, H => 26, I => 28, J => 6, K => 8, L => 10...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M10_010 - compute check digits for Postscheckkonti (CH)**

ALGORITHM 1 The sequence of digits is processed left to right. For the first digit we assume a carry forward of 0. 2 For each digit d(i) the carry forward cf(i) is the digit at the the position p in the sequence ( 0, 9, 4, 6, 8, 2, 7, 1, 3, 5 ), wher...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M09_001 - compute check digits for Euro notes**

ALGORITHM 1 Letters are replaced with their position in the alphabet ('A' = 1, ...). 2 The total of the digits of all numbers is computed. 3 This sum is taken modulo 9. 4 The check digit is the difference between 8 and the number of step 3. To valida...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::MXX_005 - compute check digits for ESR9 (CH)**

ALGORITHM 1 Digits are processed left to right. For the first digit applies the balance is 0. 2 The new balance is taken from the balance table according to the current balance (row) and the digit (column). 3 The check digit is the difference from th...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M11_010 - compute check digits AHV number (CH)**

ALGORITHM 1 Beginning left every digit is weighted with 5,4,3,2,7,6,5,4,3,2. 2 The weighted digits are added. 3 The sum from step 2 is taken modulo 11. 4 The checkdigit is 11 minus the sum from step 3. Is the difference 10, the number won't be taken....

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::MXX_001 - compute check digits for german Personalausweis (pa_de) or ABA routing numbers (aba_rn)**

ALGORITHM 1 Beginning left all digits are weighted with 7,3,1,7,3,1,... for *pa_de* or 3,7,1,3,7,1,3,7,1 for *aba_rn*. 2 The sum of those products is computed. 3 For *pa_de* the checksum is the last digit of the sum from step 2 (modulo 10). For *aba_...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M23_001 - compute check digits for DNI (ES)**

ALGORITHM 1 The checkdigit is the whole number taken modulo 23 and coded according to a keytable. METHODS is_valid($number) Returns true only if $number consists solely of numbers and the last digit is a valid check digit according to the algorithm g...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M97_002 - compute check digits for International Bank Account Number (IBAN)**

ALGORITHM 0 The IBAN number must be prepared. The first two letters and the checksum will be moved to the right end. The letters are substituted according to the substitute table and the checksum is set to '00'. 1 The whole number is taken modulo 97....

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M10_001 - compute check digits for Bahncard (DE), IMEI, IMEISV, ISIN, Miles&More, Payback (DE), Personnummer (SE), Passport (BR), Credit Cards, SSN (US), Samordningsnummer (SE), VAT RN (ES), VAT RN (IT), VAT RN (SE), International Securities Identifikation Number (ISIN), CUSIP**

ALGORITHM 1 Beginning right all numbers are weighted alternatively 1 and 2 (that is the check digit is weighted 1). 2 The total of the digits of all products is computed. 3 The sum of step 3 ist taken modulo 10. 4 The check digit is the difference be...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M10_008 - compute check digits for Sedol (GB)**

Prior to March 2004 SEDOL codes solely consisted of numbers. Since March 2004 SEDOL codes are a 7 character alphanumeric code. The structure of the alphanumeric SEDOL codes is one alpha character followed by 5 alphanumeric characters followed by the ...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::MXX_003 - compute check digits for DEM**

ALGORITHM The algorithm is a variation of the Verhoeff scheme. 0 All letters are changed to numbers. 1 All digits are permutated according to a permutation table. 2 The permutated digits are combined using a diëder table. The first with the second, t...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M11_016 - compute check digits vor VAT Registration Number (PL)**

ALGORITHM 1 Beginning left every digit is weighted with 6, 5, 7, 2, 3, 4, 5, 6, 7 2 The weighted digits are added. 3 The sum from step 2 is taken modulo 11. 4 The checkdigit is 11 minus the sum from step 3. Is the difference 10, the number won't be t...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M11_011 - compute check digits for VAT Registration Number (NL)**

This VATRN has 12 "digits", the third last must be a *B*, the fourth last is the checkdigit. I don't know anything about the meaning of the last two digits. You may use the whole VATRN or only the first eight digits to compute the checkdigit with thi...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC**Algorithm::CheckDigits::M10_002 - compute check digits for CINS (US), SIREN (FR), SIRET (FR)**

ALGORITHM 1 Beginning right all numbers are weighted alternatively 1 and 2. 2 The total of the digits of all products is computed. 3 The sum of step 3 ist taken modulo 10. 4 The check digit is the difference between 10 and the number from step 3 take...

MAMAWE/Algorithm-CheckDigits-v1.3.5 - 18 Nov 2020 15:28:07 UTC