Frage

Ich brauche eine Prüfsummen-/Fingerabdruckfunktion für kurze Zeichenfolgen (z. B. 16 bis 256 Bytes), die in ein 24 -Bit -Wort passt. Gibt es dafür einen bekannten Algorithmus dafür?

War es hilfreich?

Lösung

Ich schlage vor, eine 24-Bit-CRC als einfache Lösung zu verwenden. CRCs sind in allen Längen erhältlich und immer einfach zu berechnen. Wikipedia hat einen passenden Eintrag. Die Qualität ist weitaus besser als eine modulo-reduzierte Summe. Der nächste Schritt (wenn es eine echte Bedrohung ist, eine falsche Zeichenfolge mit der gleichen Prüfsummen zu haben) wäre ein kryptografischer Mac wie CMAC. Dies ist zwar zu lang aus dem Buch, aber es kann reduziert werden, die ersten 24 Bit.

Andere Tipps

Die einfachste Sache ist eine grundlegende Prüfsumme - Fügen Sie die Bytes in der Zeichenfolge hinzu, mod (2^24).

Sie müssen jedoch auf Probleme mit dem Charakter -Set aufpassen, wenn Sie in Bytes konvertieren, daher sind sich alle auf die gleiche Kodierung von Zeichen zu Bytes einig.

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