В предоставленном сценарии вам никогда не придется беспокоиться. 2 разных документа не могут иметь одинаковую контрольную сумму, если они не совпадают. Представь себе:
var a = 1;
var b = 2;
b + 3 = 5; // правда да!
+ 3! = 5; // коллизия невозможна, если переменная a не равна 2
var 'a' с любым значением, отличным от 2, никогда не сможет вычислить значение 5, поэтому столкновение невозможно. Поскольку вы используете (или должны использовать) алгоритм одностороннего хеширования контрольной суммы, результирующий хеш всегда будет зависеть от его входных данных
Коллизии хэшей случаются, когда вы имеете дело со случайно сгенерированными хешами, которые из-за их случайных неуказанных входных данных могут столкнуться, хотя и маловероятно.
Пожалуйста, обратите внимание, я ни в коем случае не делаю вывод, что алгоритмы хеширования в одном направлении выполняются простым добавлением. Я просто использую сложение в качестве простого примера, основанного на простом представлении о том, что они оба принимают набор значений и выводят различные заданные значения на их основе.