Question

Je besoin d'une fonction somme de contrôle / empreintes digitales pour de courtes chaînes (par exemple, 16 à 256 octets) qui correspond à un mot 24 bits. Y at-il algorithme bien connu pour cela?

Était-ce utile?

La solution

Je vous propose d'utiliser un CRC 24 bits comme une solution facile. Sont disponibles dans CRCs toutes les longueurs et toujours simple à calculer. Wikipedia a une entrée correspondante. La qualité est bien meilleure qu'une somme modulo réduite. L'étape suivante (si elle est une menace réelle d'avoir une mauvaise chaîne avec la même somme de contrôle) serait un MAC cryptographique comme CCMC. Bien que ce soit trop long du livre, il peut être réduit en prenant les premiers 24 bits.

Autres conseils

Simplest chose à faire est un total de contrôle de base -. Ajouter les octets dans la chaîne, mod (2 ^ 24)

Vous devez faire attention aux problèmes de jeu de caractères lors de la conversion en octets, donc tout le monde est d'accord sur le même codage de caractères à octets.

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