С помощью myappapp я сохраняю файлы в кэше с хэш-файлом в разных подкаталогах для оптимизации уровней производительности. Один из способов, которым я знаю, что я мог бы повысить производительность, также состоял в том, чтобы сгенерированные имена соответствовали структуре имени файла 8.3, поэтому NTFS не должна генерировать короткие имена файлов (я не смогу установить это в реестре).Коллизии ставок для обрезанных SHA1- хэшей
Чтобы сделать это, хотя мне пришлось бы обрезать хэш (я думал SHA1) до 8 символов, очевидно, это значительно увеличит вероятность столкновения. Что я хотел бы знать, какова вероятность столкновения?
Я видел ответ here на полной скорости столкновений хэшей SHA1, но моя математика ужасна, поэтому вычисление ценности намного превосходит меня.
Это зависит от того, сколько байтов вы укладываете в 8 символов. Является ли он хранимым base16 (шестнадцатеричным) или чем-то более сложным, как база 32? – vcsjones
Кроме того, [вы можете отключить] (http://support.microsoft.com/kb/121007/en-us) автоматическое создание имен файлов в NTFS на NTFS. Поэтому вместо изменения кода вы можете просто отключить функцию NTFS. – vcsjones
@vcsjones К сожалению, как я уже сказал, это будет невозможно для меня. По первому вопросу это будет два байта на символ, я не знаю, поможет ли это. –