Frage

Der Empfänger ist meine Website, der Absender ist derselbe, aber das Medium ist laut, ein Benutzer. Er liest einen alphanumerischen Code der Länge 6 und gibt später denselben Code ein, um eine Ressource zu identifizieren. Eine gute Verwendung für einen Fehlerkorrekturcode, dachte ich, und anstatt zu recherchieren, dachte ich, ich würde die Frage einfach da draußen stellen. Oder ich gehe falsch vor, da die Situation eher so ist, als würde man mit jeder Übertragung ein perfektes Wörterbuch senden.

Die Anforderungen an den Code sind einfach:

  1. 6 alphanumerische Ziffern, bis ich ohnehin ausgehe.
  2. Wenn der Benutzer etwas falsch macht, sollte ich immer noch in der Lage sein, die richtige Ressource zu identifizieren.
  3. Keine Ressource ist der falschen vorzuziehen.
  4. Einfach zu codieren oder kostenlose Bibliotheken für .net

    Irgendwelche Vorschläge?

    Bearbeiten:

    Es scheint mir, dass die Hälfte der Anforderungen erfüllt werden kann, indem die Codes mit Bedacht ausgewählt werden, d. h. mit ausreichendem Abstand zwischen ihnen. Diese Strategie sieht noch besser aus, wenn ich feststelle, dass die Verwendung der Codes umso unwahrscheinlicher ist, je länger sie vergangen sind.

    Die Codes werden nicht direkt in meine Website eingegeben, daher kann ich kein sofortiges Feedback geben. Tatsächlich können wir davon ausgehen, dass ich den Benutzer nicht einmal identifizieren kann, wenn ich den Code nicht verifizieren kann, sodass ich überhaupt kein Feedback geben kann.

War es hilfreich?

Lösung

Nun, nein, Ihr Ansatz bei der ersten Bestellung sollte darin bestehen, zu überprüfen, ob der Benutzer die richtige Nummer eingegeben hat. Ein Mensch, der eine Zahl oder Zeichenfolge falsch eingibt, ist zu 99% das Problem. Dies ist in der Praxis gut etabliert. Die Prüfziffer wird in vielen gängigen Codes verwendet, wobei UPC und ISBN die sind diejenigen, die Sie jeden Tag sehen würden. Sie können es markieren, sie können es erneut eingeben.

Fehlerkorrekturcodes sind ebenfalls häufig, haben jedoch eine ganz andere Anwendung. Traditionell wird es in digitalen Signalisierungsmedien verwendet, um Bitfehler zu erkennen und zu korrigieren. Reed-Solomon ist der hundert Pfund schwere Gorilla dort, der von der Musik-CD wirklich auf die Karte gesetzt wurde.

Das funktioniert in der Praxis mit einem Menschen nicht wirklich gut. Sie führen mindestens 6 Bit fehlerhafter Daten ein, indem sie einen Schlüssel falsch eingeben. Das ist sehr schwer zu korrigieren. Sie müssten den benachbarten Buchstaben viele, viele Redundanzbits hinzufügen, wodurch es wahrscheinlicher wird, dass der Code falsch eingegeben wird. Der beste Weg für von Menschen lesbare Codes besteht darin, dass der Code für einen Menschen einen Sinn ergibt. Etwas, das die Antwort "Das sieht falsch aus" auslöst. Wie ein Vorname, solange du nicht Frank Zappas Kind bist. Aber sonst die Grundlage von Codes wie Buchstaben-Buchstaben + Zahlen. Usw.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top