Какой эквивалент 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.
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/ Медленнее, но понимает кодовые страницы.