Утилита командной строки или код C # для быстрого вычисления 200 000 изменений файлов в иерархии каталогов? - PullRequest
1 голос
/ 27 января 2010

Используя Microsoft FCIV , которая вычисляет контрольные суммы файлов SHA-1, я создал текстовый файл с именами файлов и контрольными суммами:

"8697c58c606122c30e2a20f1eabd6919" "g:\00258\99481\99481.eps"
"b77a6b392c002bb9cc51f48170487dea" "g:\00258\99481\99481.eps"

Мое намерение - создать миниатюру в формате JPEG для любых изображений, которые меняются. Тем не менее, эта утилита занимает несколько часов, чтобы создать список. Я хотел использовать SHA-1, потому что люди из Git считают его полезным (1 из 2 ^ 52 шансов на столкновение, 5 запятых). MD5 производит несколько столкновений с таким размером выборки. Я хочу использовать SHA-1 в качестве уникального идентификатора.

Мне нужно быстро определить изменения файла и заново создать эскизы только для измененных файлов. Я хотел бы получить эти значения в SQL. Какие-либо предложения? (В этом отношении мне нужно прочитать ключевые слова загрузки изображения в SQL). Время трудное, потому что два раза в год время создания и изменения файлов Microsoft меняется на час.

1 Ответ

1 голос
/ 27 января 2010

Почему бы вам не посмотреть на время изменения файла как на первый шаг, а затем, если это не так, сделать хеш Таким образом, вы не будете делать (дорогой) хеш для каждого файла.

Вы также можете посмотреть на размер файла в качестве дополнительной проверки.

Также вы можете восстанавливать весь хэш два раза в год при смене часов.

...