Welcher Algorithmus wird verwendet, um eine Prüfziffer zu berechnen?

8

Welcher Algorithmus wird verwendet, um eine Prüfziffer für eine Ziffernliste zu berechnen?
Die Länge der Liste ist zwischen 8 und 12 Ziffern.

siehe auch:
Wie wird ein Verifizierungscode / -nummer generiert?

    
Piotr Dobrogost 08.07.2009, 21:53
quelle

5 Antworten

7

Der Luhn-Algorithmus ist gut genug für die Kreditkartenindustrie ...

    
RichieHindle 08.07.2009, 21:55
quelle
5

Wie RichieHindle feststellt, ist der Luhn-Algorithmus ziemlich gut. Es wird einen Fehler oder eine Transposition erkennen (aber nicht korrigieren) (außer einer Transposition von 0 und 9).

Sie könnten auch den Algorithmus für ISBN-Prüfziffern in Erwägung ziehen, obwohl für die alte ISBN die Prüfziffer gilt ist manchmal "X", was ein Problem für Sie sein kann, wenn Sie ganzzahlige Felder verwenden. Die neue ISBN scheint dieses Problem nicht zu haben. Wikipedia geht nicht auf die theoretischen Eigenschaften des Systems ein, aber ich erinnere mich daran, dass ich vor langer Zeit ISBN-Nummern in meinem Coding-Theorie-Kurs studierte, also denke ich, dass sie ziemlich gut sind: -)

    
John Fouhy 08.07.2009 22:18
quelle
2

Verhoeff , es gibt nichts besseres IMO.

    
Alix Axel 29.08.2009 12:35
quelle
2

Ich weiß, es ist ein wenig spät (nach Postdaten) , aber das erste Mal, dass ich einen Schecknummern-Algorithmus brauchte, war letzte Woche.

Also habe ich mehr Algorithmen überprüft und IMHO scheint die beste Lösung (für nur Ziffern) der Damm-Algorithmus zu sein. Es ist einfach zu implementieren und erkennt die meisten der getesteten Fehler (alle einstelligen Fehler und alle Transpositionsfehler, fast alle Sprungtranspositionsfehler) .

Für mich gab es nur ein einziges Problem, da ich die Prüfziffer nicht nur aus Zahlen, sondern auch aus Zeichen berechnen muss. Es gibt viele Möglichkeiten, Zeichen in Zahlen umzuwandeln, aber die Fehlererkennung wird immer niedriger sein als nur Zahlen.

Für diese Fälle können Sie die ISO_6346 Spezifikation verwenden.

    
Julo 17.02.2015 10:46
quelle