Domanda

Ho bisogno di una funzione di controllo / impronta digitale per stringhe brevi (diciamo, da 16 a 256 byte) che si inserisce in una parola di 24 bit. Esiste un algoritmo ben noto per questo?

È stato utile?

Soluzione

propongo di usare un 24-bit CRC come una soluzione facile. CRC sono disponibili in tutte le lunghezze e sempre semplice da calcolare. Wikipedia ha una voce corrispondente. La qualità è molto meglio di una somma modulo-ridotta. Il passo successivo (se si tratta di una minaccia reale per avere una stringa di sbagliato con la stessa somma di controllo) sarebbe un MAC crittografico come CMAC. Mentre questo è troppo lunga dal libro, può essere ridotta prendendo i primi 24 bit.

Altri suggerimenti

cosa più semplice da fare è un checksum di base -. Sommare i byte nella stringa, mod (2 ^ 24)

Si deve guardare fuori per problemi di set di caratteri durante la conversione in byte, però, così tutti sono d'accordo sulla stessa codifica dei caratteri a byte.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top