Question

Qu'est-ce que l'algorithme à utiliser pour calculer un chiffre de contrôle pour obtenir une liste de chiffres?
La longueur de la liste est comprise entre 8 et 12 chiffres.

voir aussi:
Comment générer un code de vérification / numéro?

Était-ce utile?

La solution

est assez bon Luhn algorithme pour l'industrie des cartes de crédit ...

Autres conseils

Comme RichieHindle souligne, l'algorithme Luhn est assez bonne. Il détectera (mais pas corriger) une erreur ou une transposition (à l'exception d'une transposition de 0 et 9).

Vous pouvez également considérer l'algorithme de ISBN chiffres de contrôle , bien que pour Ancien- le style ISBN, le chiffre de contrôle est parfois « X », qui peut être un problème pour vous si vous utilisez des champs entiers. Nouveau style ISBN ne semble pas avoir ce problème. Wikipédia ne va pas aux propriétés théoriques du système, mais je me souviens d'étudier les numéros ISBN dans mon cours théorique de codage depuis longtemps, donc je pense qu'ils sont assez bon: -)

Verhoeff , il n'y a rien de mieux l'OMI.

Je sais qu'il est un peu en retard (selon les dates post) , mais première fois que je besoin d'un algorithme de numéro de chèque a été la semaine dernière.

Alors j'ai vérifié plus d'algorithmes et à mon avis la meilleure solution (pour les chiffres seulement) semble être le algorithme Damm . Il est simple à la mise en œuvre et de détecter la plupart des erreurs testées (toutes les erreurs à un seul chiffre et toutes les erreurs de transposition, presque toutes les erreurs de transpositions de saut) .

Pour moi, il n'y avait qu'un seul problème, puisque je dois calculer non seulement chiffre de contrôle du nombre mais aussi de caractères. Il y a plusieurs façons comment retranscrire les caractères au nombre, mais la détection d'erreur sera toujours plus faible que des chiffres sont utilisés.

Pour ces cas, vous pouvez utiliser la spécification ISO_6346 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top