Pregunta

Necesito una función de suma de verificación/huella digital para cuerdas cortas (por ejemplo, 16 a 256 bytes) que se ajusta en una palabra de 24 bits. ¿Hay algún algoritmo bien conocido para eso?

¿Fue útil?

Solución

Propongo usar un CRC de 24 bits como una solución fácil. Los CRC están disponibles en todas las longitudes y siempre son fáciles de calcular. Wikipedia tiene una entrada a juego. La calidad es mucho mejor que una suma modulo-reducida. El siguiente paso (si es una amenaza real tener una cadena incorrecta con la misma suma de verificación) sería una Mac criptográfica como CMAC. Si bien esto es demasiado largo del libro, se puede reducir tomando los primeros 24 bits.

Otros consejos

Lo más simple es hacer es una suma de verificación básica: sumar los bytes en la cadena, mod (2^24).

Sin embargo, debes tener en cuenta los problemas establecidos de personajes al convertirte en bytes, por lo que todos están de acuerdo con la misma codificación de personajes a bytes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top