Fórmula de luhn

Definición: ¿Qué significa la fórmula de Luhn?

La fórmula de Luhn es una fórmula de suma de comprobación simple que se utiliza en la validación de varios números de identificación, como números de tarjetas de crédito, números de seguridad social, números IMEI y muchos otros. El algoritmo valida el número con un dígito de control incluido en el número mismo, generalmente el último dígito. La fórmula de Luhn ahora es de dominio público y se usa ampliamente en varias industrias y se especifica en ISO / IEC 7812-1.

La fórmula de Luhn también se conoce como algoritmo de Luhn, algoritmo de módulo 10 o algoritmo de módulo 10.

Techinfo explica la fórmula de Luhn

La Fórmula Luhn fue diseñada por Hans Peter Luhn, un científico de IBM, quien presentó una patente para la fórmula en 1954, que fue otorgada en 1960. La fórmula no fue diseñada para ser una función hash criptográficamente segura, sino más bien como una forma simple de protege contra errores accidentales al crear números de identificación únicos. Muchas agencias gubernamentales e instituciones privadas utilizaron la fórmula para distinguir números válidos de números mal escritos, incorrectos o simplemente fraudulentos.

La fórmula se utiliza para verificar una serie de números comprobando que un dígito de control incluido sea correcto. Este dígito de control generalmente se adjunta a un número parcial para completarlo.

El siguiente proceso es la generación del dígito de control:

  1. Comenzando desde el dígito más a la derecha, duplique el valor de cada segundo dígito.
  2. Si el producto resultante del primer paso está por encima de 9, agregue los dos dígitos (por ejemplo, 5 × 3 = 15, 1 + 5 = 6). Si el resultado es 9 o menos, conserve el número.
  3. Toma la suma de todos los dígitos.
  4. Multiplique la suma por 9 y tome el "módulo 10" de la suma; el resultado es el dígito de control.

Ejemplo: serie numérica 927638965

9

2

7

6

3

8

9

6

5 es el dígito de control

9

4

7

12

3

16

9

12

9

4

7

3

3

7

9

3

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

Para verificar que el número es válido, simplemente siga el algoritmo excluyendo el dígito de control, y si se obtiene el mismo resultado que el dígito de control, entonces el número es válido de acuerdo con la fórmula de Luhn. Sin embargo, este algoritmo no es muy confiable y solo es capaz de detectar principalmente errores de un solo dígito y transposiciones de números adyacentes, excepto la transposición de la secuencia de dos dígitos 09 a 90. Algoritmos más complicados como el algoritmo Verhoeff y el algoritmo Damm pueden para detectar más errores de transcripción.