Windows Эквивалент `sha256sum -c` (криптографический хэш, файл дайджеста, рекурсивная проверка целостности, SHA256SUMS)

Windows Эквивалент `sha256sum -c` (криптографический хэш, файл дайджеста, рекурсивная проверка целостности, SHA256SUMS)

Какой эквивалент sha256sum -cв Windows?

У меня есть набор очень важных файлов, которые мне нужно скопировать и отразить на многих различных типах дисков во многих географически разных местах. После передачи содержимого на диск через USB, Ethernet, оптоволокно, радио, телеграмму и сигнальные огни (некоторые из которых являются более надежными средствами передачи, чем другие!), я хочу проверить целостность данных, записанных на диск.

В Debian Linux контрольные суммы файлов обычно хранятся в SHA256SUMфайле "дайджеста", который генерируется с помощью sha256sumкоманды. Использовать эту команду для генерации этого файла с рекурсивными контрольными суммами SHA256 всех файлов в текущем каталоге и подкаталогах — тривиальная задача. Также очень тривиально для пользователя использовать эту команду для рекурсивной проверки целостности всех файлов. Например, рассмотрим этот суперкритический набор данных с изображениями кошек

user@disp3274:~/Pictures$ tree
.
├── cats
│   ├── cat1.jpeg
│   ├── cat2.jpeg
│   └── cat3.jpeg
└── people
    ├── person1.jpeg
    └── person2.jpeg

2 directories, 5 files
user@disp3274:~/Pictures$ 

Я могу сгенерировать файл контрольной суммы следующим образом:

user@disp3274:~/Pictures$ time sha256sum `find . -type f` > SHA256SUMS

real    0m0.010s
user    0m0.008s
sys 0m0.002s
user@disp3274:~/Pictures$

user@disp3274:~/Pictures$ cat SHA256SUMS 
b2d82e7b8dcbaef4d06466bee3486c12467ce5882e2eabe735319a90606f206a  ./people/person2.jpeg
e01f7b240f300ce629c07502639a670d9665e82df6cba9311b87ba3ad23c595d  ./people/person1.jpeg
53e056cc91fd4157880fb746255a2f621ebee8ca6351a659130d6228142c1e47  ./cats/cat1.jpeg
a0a73a21b9d26f1bbe4fcfce0acd21964dedf2dc247a5fe99bd9f304aa137379  ./cats/cat2.jpeg
a171fa88d431a531960b6eb312d964ed66cc35afd64bde5dda9b929ad83343f6  ./cats/cat3.jpeg
user@disp3274:~/Pictures$ 

И я могу проверить целостность всех файлов следующим образом:

user@disp3274:~/Pictures$ time sha256sum -c SHA256SUMS 
./people/person2.jpeg: OK
./people/person1.jpeg: OK
./cats/cat1.jpeg: OK
./cats/cat2.jpeg: OK
./cats/cat3.jpeg: OK

real    0m0.009s
user    0m0.008s
sys 0m0.000s
user@disp3274:~/Pictures$ 

Какой эквивалентный встроенный инструмент в Windows позволяет SHA256SUMSрекурсивно генерировать файл дайджеста (или аналогичный файл дайджеста с использованием другой криптографической хеш-функции) и проверять целостность набора файлов?

решение1

Это могут сделать New-FileCatalog и Test-FileCatalog.

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/new-filecatalog?view=powershell-7.2

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/test-filecatalog?view=powershell-7.2

New-FileCatalog -Path "x:\DirectoryName" -CatalogFilePath "x:\SomeOtherDirectoryName\"


Test-FileCatalog -Path "x:\DirectoryName" -CatalogFilePath "x:\SomeOtherDirectoryName\catalog.cat"

решение2

Я использую fsum. https://www.slavasoft.com/fsum/ Быстрее, но возникают проблемы с разными кодовыми страницами.

Еще один - exf https://www.exactfile.com/exf/ Медленнее, но понимает кодовые страницы.

Связанный контент