Тот же файл, разные хэши с помощью команды PowerShell Get-FileHash
Я пытаюсь написать сценарий PowerShell, который будет копировать файлы изображений из одной папки в другую, но только в том случае, если файлы еще не существуют в папке назначения.
Файлы имеют случайное имя.
Проблема в том, что Get-FileHash продолжает возвращать разные хэши, даже если файлы идентичны.
Для простоты я создал следующий сценарий:
у меня есть 2 файла JPG, которые представляют собой одно и то же изображение.
- Размер файла тот же.
- Бег
fc.exe /b image1.jpg .\temp\image2.jpg
возвращается
FC: no differences encountered
Однако PowerShell дает им разные хэши:
$oldFileHash = Get-FileHash .\image1.jpg -Algorithm "SHA256"
>> $newFileHash = Get-FileHash .\temp\image2.jpg -Algorithm "SHA256"
>>
>> $oldFileHash.Hash
>> $newFileHash.Hash
21CE9E2CE18AC46DF13400C4CEFA11FB254D96E9D39BD67FA2F4189ACF4F5D3B
6441924D9D2349D3CFD8164B18DF8DA2FFA9F281DE198E56C0AE4CFDBFBCE8AD
Я попытался использовать алгоритм MD5 вместо SHA256 и также получил разные хэши.
Что может вызвать такое поведение?
1 ответ
Как предположил zett42, это должна была быть ошибка теста.
Я удалил содержимое обеих папок и начал заново, и мой скрипт работал, как и ожидалось.