PowerShell Get-FileHash命令具有相同的文件、不同的哈希



我正在尝试编写一个PowerShell脚本,该脚本将图像文件从一个文件夹复制到另一个文件夹,但前提是目标文件夹中不存在这些文件
这些文件是随机命名的。

问题是,即使文件相同,Get-FileHash也会不断返回不同的哈希。

为了简单起见,我生成了以下场景:
我有两个JPG文件,它们是相同的图像。

  • 文件大小相同
  • 运行fc.exe /b image1.jpg .tempimage2.jpg返回
    FC: no differences encountered

然而,PowerShell为它们提供了不同的哈希:

$oldFileHash = Get-FileHash .image1.jpg  -Algorithm "SHA256"
>> $newFileHash = Get-FileHash .tempimage2.jpg -Algorithm "SHA256"
>>
>> $oldFileHash.Hash
>> $newFileHash.Hash
21CE9E2CE18AC46DF13400C4CEFA11FB254D96E9D39BD67FA2F4189ACF4F5D3B
6441924D9D2349D3CFD8164B18DF8DA2FFA9F281DE198E56C0AE4CFDBFBCE8AD

我尝试使用MD5算法而不是SHA256,并且得到了不同的散列。

是什么导致了这种行为?

正如zett42所建议的,这一定是一个测试错误
我已经删除了两个文件夹的内容并重新开始,我的脚本按预期工作

最新更新