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