Mod10Verfahren

open class Mod10Verfahren(gewichtungUngerade: Int, gewichtungGerade: Int) : PruefzifferVerfahren<String>

Das Modulo-10-Verfahren ist auch als Luhn-Alogorithmus oder Luhn-Formel bekannt und ist eine einfache Methode zur Berechnung einer Pruefsumme. Das Verfahren dient u.a. zur Verifizierung von:

  • Kreditkartennummern,

  • Sozialversicherungsnummern,

  • Nummern von Lokomotiven und Triebwagen.

Die Pruefziffer ergibt sich aus der Pruefsumme modulo 10. Sie wird an die bestehende Zahl angehaengt.

Die verschiedenen Modulo10-Verfahren, die es gibt, unterscheiden sich noch in der Gewichtung der einzelnen Ziffern. Naeheres kann man unter https://www.activebarcode.de/codes/checkdigit/modulo10.html nachlesen.

Die Gewichtung gibt an, mit welcher Zahl die ungeraden und geraden Stellen mulitpliziert werden, bevor die Quersumme fuer die Preufung gebildet wird. Bei Barcodes wird hier z.B. die Werte 4 und 9 verwendet.

Author

oboehm

Since

1.1 (11.12.2018)

Inheritors

Constructors

Link copied to clipboard
constructor(gewichtung: Int = 2)

Die Gewichtung ist fuer die ungeraden Ziffern relevant. Sie werden damit multipliziert, bevor die Quersumme gebildet wird.

constructor(gewichtungUngerade: Int, gewichtungGerade: Int)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open override fun berechnePruefziffer(wert: String): String

Berechnet die Pruefziffer des uebergebenen Wertes. Die Berechung stammt aus https://de.wikipedia.org/wiki/Luhn-Algorithmus#Java.

Link copied to clipboard
open override fun getPruefziffer(wert: String): String

Meistens ist die letzte Ziffer die Pruefziffer, die hierueber abgefragt werden kann.

Link copied to clipboard
open fun isVald(value: String): Boolean

Diese Methode hatte bis v6 einen Schreibfehler und ist deswegen jetzt deprecated.

Link copied to clipboard
open override fun isValid(wert: String): Boolean

Liefert true zurueck, wenn der uebergebene Wert gueltig ist.

Link copied to clipboard
open override fun validate(value: String): String

Validiert den uebergebenen Wert. Falls dieser nicht stimmt, sollte eine ValidationException geworfen werden.

Link copied to clipboard
open override fun validateObject(value: Any): Any?
Link copied to clipboard
open override fun verify(value: String): String

Im Unterschied zur .validate-Methode wird hier eine IllegalArgumentException geworfen, wenn der Wert kein gueltiges Argument ist.