Estoy construyendo un sistema que debe ser capaz de encontrar si se han actualizado los blobs de bytes. En lugar de almacenar todo el blob (pueden tener hasta 5MB), creo que debería calcular una suma de comprobación, almacenar esto y calcular la misma suma de comprobación un poco más tarde, para ver si el blog se ha actualizado.¿Qué algoritmo de suma de comprobación debería usar?
El objetivo es reducir al mínimo la siguiente (en ese orden):
- tamaño de la suma de comprobación
- tiempo para calcular
- verosimilitud de colisiones (2 sumas de comprobación idénticos que suceden incluso si el contenido ha sido modificado).
Es aceptable que nuestro sistema tenga una colisión de no más de 1/1,000,000. La preocupación no es la seguridad, sino simplemente la detección de actualización/error, por lo que las colisiones raras están bien. (Por eso lo puse último en las cosas para minimizar).
Además, no podemos modificar los blobs de texto nosotros mismos.
Por supuesto, me vienen a la mente md5
, crc
o sha1
, y si quisiera una solución rápida, lo conseguiría. Sin embargo, más que una solución rápida, estoy buscando lo que podría ser una comparación de diferentes métodos, así como los pros y los contras.
Me alegra convertir esta pregunta en una de comunidad, ¡si eso tiene sentido! –
¿Cuál es su preocupación aquí? ¿Simplemente está revisando para ver si sus blobs de datos han cambiado desde algún momento anterior, o está tratando de detectar una alteración maliciosa? – dajames
Solo estoy tratando de ver si ha habido alguna actualización en ellos. –