Під час хешування коротких (<декількох K?) Рядків (або файлів) можна створити два хеш-клавіші md5, одну для фактичної рядки та другу для зворотного рядка, з'єднаної з короткою асиметричною струною. Приклад: md5 (зворотний (рядок || '1010')). Додавання додаткового рядка гарантує, що навіть файли, що складаються з серії однакових біт, генерують два різних ключі. Будь ласка, розумійте, що навіть у цій схемі існує теоретична ймовірність того, що два хеш-ключі будуть однаковими для неідентичних рядків, але ймовірність здається надзвичайно малою - щось у порядку квадрату ймовірності зіткнення одиночного md5 та економія часу може бути значним, коли кількість файлів зростає. Можна також розглянути більш детальні схеми створення другого рядка,
Щоб перевірити наявність зіткнень, можна запустити цей тест на унікальність хеш-ключів md5 для всіх bit_vectors у db:
виберіть md5 (bit_vector), count (*), bit_and (bit_vector) з db з
групою bit_vector по md5 (bit_vector), bit_vector має bit_and (bit_vector) <> bit_vector