Algoritmo de Luhn
Calcula la suma de verificación de secuencia digital utilizando el algoritmo de Luhn (mod 10), calcula el dígito de validación (el dígito que se agrega a la secuencia para que el suma de verificación sea igual a cero).
Este contenido está bajo licencia de Creative Commons Attribution/Share-Alike License 3.0 (Unported). Esto significa que puedes redistribuirlo o modificar su contenido en forma libre bajo las mismas condiciones de licencia y debes mantener la atribución del mismo al autor original de este trabajo colocando un hipervínculo en tu sitio web a este trabajo https://es.planetcalc.com/2464/. Así mismo, por favor no modifiques o alteres ninguna de las referencias al trabajo original (si hubiera alguna) que se encuentre en este contenido.
El algoritmo de Luhn fue desarrollado por el científico computacional Alemán; Hans Peter Luhn en 1954. Calcula fórmulas de sumas de verificación simples utilizadas para validar números de identificación tales como números de tarjeta de crédito. El algoritmo fue diseñado para proteger en contra de errores accidentales, tales como la escritura incorrecta de un dígito. Detecta cualquier error de un solo dígito y también cais todas las transposiciones de dígitos adyacentes. Pero, no detecta transposiciones de las secuencias de dos dígitos desde 09 a 90 (o vice-versa)
La calculadora a continuación procesa la suma de verificación de Luhn para la secuencia de dígitos ingresada. La secuencia se considera válida si la suma de verificación con mod 10 es igual a cero. También encuentra el próximo dígito de revisión para ser agregado al final de la secuencia original para formar un número de validación de acuerdo al algoritmo de Luhn.
La fórmula es muy simple: Para calcular la suma de verificación de Luhn debes sumar todos los dígitos impares (calculado de derecha a izquierda, de tal forma que el último dígito se considera N1) y sumar todos los números pares multiplicados por 2, si el producto de la multiplicación es mayor a 9 se debe restar 9. Si el último dígito del checksum es cero, toda la secuencia es válida.
Para producir un dígito de validación podemos simplemente agregar "0" a la secuencia original y calcular la suma de verificación de Luhn otra vez. Si el último dígito de la suma de verificación obtenido es cero entonces el dígito de validación también es cero, si no, el dígito de validación se puede obtener restando el último dígito de la suma de verificación de 10.
Comentarios