Cuando se combinan cadenas (o archivos) cortos (<unas pocas K?), Se pueden crear dos claves hash md5, una para la cadena real y otra para el reverso de la cadena concatenada con una cadena asimétrica corta. Ejemplo: md5 (reverse (string || '1010')). Agregar la cadena adicional asegura que incluso los archivos que consisten en una serie de bits idénticos generan dos claves diferentes. Por favor, comprenda que incluso bajo este esquema hay una posibilidad teórica de que las dos claves hash sean idénticas para cadenas no idénticas, pero la probabilidad parece extremadamente pequeña, algo en el orden del cuadrado de la probabilidad de colisión md5 individual, y el ahorro de tiempo puede ser considerable cuando el número de archivos está creciendo. También se podrían considerar esquemas más elaborados para crear la segunda cadena,
Para verificar las colisiones, se puede ejecutar esta prueba para determinar la unicidad de las claves hash md5 para todos los bit_vectors en una base de datos:
seleccione md5 (bit_vector), count (*), bit_and (bit_vector) de db con el
grupo bit_vector por md5 (bit_vector), bit_vector que tiene bit_and (bit_vector) <> bit_vector