Fórmula de luhn

Definição - O que significa Luhn Formula?

A fórmula de Luhn é uma fórmula de soma de verificação simples usada na validação de vários números de identificação, como números de cartão de crédito, números de previdência social, números IMEI e muitos outros. O algoritmo valida o número em relação a um dígito de verificação incluído no próprio número, geralmente o último dígito. A fórmula de Luhn agora é de domínio público e é amplamente usada em vários setores e especificada na ISO / IEC 7812-1.

A fórmula de Luhn também é conhecida como algoritmo de Luhn, algoritmo de módulo 10 ou algoritmo de mod 10.

Definirtec explica Luhn Formula

A fórmula de Luhn foi criada por Hans Peter Luhn, um cientista da IBM, que registrou uma patente para a fórmula em 1954, concedida em 1960. A fórmula não foi projetada para ser uma função hash criptograficamente segura, mas sim como uma maneira simples de proteger contra erros acidentais na criação de números de identificação exclusivos. Muitas agências governamentais e instituições privadas usaram a fórmula para distinguir números válidos de números mal digitados, incorretos ou simplesmente fraudulentos.

A fórmula é usada para verificar uma série de números, verificando se um dígito de verificação incluído está correto. Este dígito de verificação é geralmente anexado a um número parcial para completá-lo.

O seguinte processo é a geração do dígito de verificação:

  1. Começando com o dígito mais à direita, dobre o valor de cada segundo dígito.
  2. Se o produto resultante da primeira etapa estiver acima de 9, adicione os dois dígitos (por exemplo, 5 × 3 = 15, 1 + 5 = 6). Se o resultado for 9 ou menos, guarde o número.
  3. Faça a soma de todos os dígitos.
  4. Multiplique a soma por 9 e obtenha o "módulo 10" da soma; o resultado é o dígito de verificação.

Exemplo: Série de números 927638965

9

2

7

6

3

8

9

6

5 é o dígito de verificação

9

4

7

12

3

16

9

12

9

4

7

3

3

7

9

3

soma = 45; 45 × 9 = 405 (mod 10) = 5

Para verificar se o número é válido, basta seguir o algoritmo excluindo o dígito de verificação e, se for obtido o mesmo resultado do dígito de verificação, o número é válido de acordo com a fórmula de Luhn. No entanto, este algoritmo não é muito confiável e só é capaz de detectar erros de um único dígito e transposições de números adjacentes, exceto a transposição da sequência de dois dígitos 09 a 90. Algoritmos mais complicados como o algoritmo Verhoeff e o algoritmo Damm são capazes para detectar mais erros de transcrição.