Tabla de contenido:
Definición - ¿Qué significa Luhn Formula?
La fórmula de Luhn es una fórmula de suma de verificació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 seguro social, números IMEI y muchos otros. El algoritmo valida el número contra un dígito de verificación 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 diversas 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 mod 10.
Techopedia explica la fórmula de Luhn
La fórmula de Luhn fue ideada por Hans Peter Luhn, un científico de IBM, que presentó una patente para la fórmula en 1954, que se otorgó 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 proteja 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 al verificar que un dígito de verificación incluido sea correcto. Este dígito de verificación generalmente se adjunta a un número parcial para completarlo.
El siguiente proceso es la generación del dígito de verificación:
- Comenzando desde el dígito más a la derecha, duplique el valor de cada segundo dígito.
- Si el producto resultante del primer paso es superior a 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.
- Toma la suma de todos los dígitos.
- Multiplique la suma por 9 y tome el "módulo 10" de la suma; El resultado es el dígito de control.
Ejemplo: serie de números 927638965
9 9 |
2 |
7 7 |
6 6 |
3 |
8 |
9 9 |
6 6 |
5 es el dígito de verificación |
9 9 |
4 4 |
7 7 |
12 |
3 |
dieciséis |
9 9 |
12 |
|
9 9 |
4 4 |
7 7 |
3 |
3 |
7 7 |
9 9 |
3 |
suma = 45; 45 × 9 = 405 (mod 10) = 5 |
Para verificar que el número sea válido, simplemente siga el algoritmo que excluye el dígito de verificación, y si se obtiene el mismo resultado que el dígito de verificación, 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.