Если я сгенерирую хеш для файла, хранящегося в общем сетевом ресурсе, будет ли весь файл отправлен по проводам? Если нет, то почему?

Сценарий: я хотел бы создать хэш файла, хранящегося на удаленном сервере. В этом примере предположим, что мы используем общий доступ к файлам Windows как для клиента, так и для сервера. Я, как клиент, нахожу файл на удаленной общей папке. Затем я использую какую-то утилиту для генерации хэша рассматриваемого файла. Кроме того, для ясности, мы ищем хеш файла, а не его путь. Итак, чтобы выполнить задачу, должна ли полная копия файла перемещаться по проводу, чтобы мы выполнили задачу хеширования?

2 ответа

Решение

Да, весь файл извлекается, потому что вычисление хэша происходит в локальной системе.

Я только что провел эксперимент с использованием Powershell Get-FileHash Командлет и мои результаты показывают, что Давидго является правильным. Сначала я хэшировал ISO-образ размером 4,5 ГБ, который был размещен на удаленном сервере (в частности, на ресурсе CIFS в файлере Netapp). Я получил результат за 2 минуты и 17 секунд. Затем я скопировал файл на свой локальный диск. Эта операция копирования заняла 1 минуту 43 секунды. Затем я снова запустил операцию хеширования и получил результат за 1 минуту и ​​7 секунд. Эти цифры не совсем суммируются, но я не знаю почему. В любом случае, хеширование локального файла было быстрее на 50%.

Другие вопросы по тегам