![]() |
md5 всех файлов в папке с подпапками
В общем есть флешка с кучей bios для разных материнских плат(знаю не лучший вариант), нужно два батника первый это который создаст md5 суммы всех файлов, а если уже есть то пропустит, в каталоге bios и второй это проверка этих сумм, результат не пройденных запишется в файл. Не когда не пробовал такое проделывать, вот и думаю может кто здесь такое уже делал?
|
Не самым лучшим вариантом в данном случае выступает скорее md5: достаточно много написано на тему коллизий оного, что даже сам его автор (вроде бы Ривест, если не ошибаюсь) рекомендовал пользоваться более продвинутыми алгоритмами. Но если оставить вопросы безопасности в стороне, получим другие грабли, а именно отсутствие штатных средств вичисления хэшей в Windows < 6.0; там придется либо использовать сторонние утилиты вроде sigcheck или openssl, либо взять C(#|\+\+)? компилятор и нарисовать чекер хэшей самостоятельно (ничего сложного в том нет). В случае в Vista и выше можно использовать certutil, позволяющий прочекать md[4|5], sha[1|256|384|512]. Так что для начала советую определиться с:
1) кругом ОС, на которых подобная задача должна решаться 2) действительно ли желаете использовать md5 В общем, думайте. |
greg zakharov, использовать буду преимущественно на win 7 на 10, md5 не обязательна, главная задача проверка целостности файлов bios, чтобы не прошить случайно битый, т.к. на флешке очень большой шанс, что файлы повредятся. Думаю использовать fciv.exe у нее вроде как есть функция для создания хеш сумм множества файлов и записи сумм в файл для последующей сверки.
|
Пока накидал вот такой черновик, вроде все работает.
Запуск fciv
Код:
@Echo off Результат сверки хеша лог
//
// File Checksum Integrity Verifier version 2.05. // Could not create the registry key. Starting checksums verification : 06/17/2017 at 17h17'16 List of modified files: ----------------------- ..\fciv\hashes.xml Hash is : 178173a8b825058e2edd6d5d6137f280 It should be : 67bf8a87d456112e07d3ec642c2d3c28 End Verification : 06/17/2017 at 17h21'06 |
Voron-orel, если Win >= 7, то лучше все же остановиться на certutil: во-первых, вещь штатная, во-вторых, fciv - шлак, какой еще нужно поискать. В первом случае пример решения может выглядеть так:
Код:
@echo off Код:
d4d8cc319e85c8d523aa1ec6fa7f069673b8301e09bbc792b03dada89ce25f03 *source.bin Что касается сторонних утилит. Есть порты UNIX'овых утилит под винду для сверки хэшей, но в данном случае, наверное, лучше взять gpg: подписать бинарники, а после чекать подписи. |
Время: 01:59. |
Время: 01:59.
© OSzone.net 2001-