Название: Как средствами QT получить контрольную сумму файла/папки/диска? Отправлено: Павелъ от Апрель 26, 2017, 21:18 Доброго времени суток.
Дана задача написать программу, которая будет возвращать контрольную сумму файла/папки/диска. Для получения контрольной суммы файла в Qt вроде есть стандартные средства. С этим более-менее понятно. А как быть с группой файлов, контрольную сумму которой нужно получить? Прочитал, что можно поместить в компрессор/архив папку, а архив будет хранить контрольную сумму, которую можно из архива получить. Но как тогда это сделать? Может, в Qt есть какие-нибудь средства, позволяющие получить контрольную сумму из архива? Название: Re: Как средствами QT получить контрольную сумму файла/папки/диска? Отправлено: Swa от Апрель 26, 2017, 21:44 Можно получить контрольную сумму файла тк он является непрерывным набором байт, но невозможно получить контрольную сумму директории или диска.
Какую конкретно задачу вы пытаетесь решить? Название: Re: Как средствами QT получить контрольную сумму файла/папки/диска? Отправлено: Павелъ от Апрель 26, 2017, 21:51 есть к примеру на cd файлы, мне нужно получить контрольную сумму этого cd или папки, в которой хранятся эти файлы. Чтобы убедиться, что никто не изменил или не удалил файл.
Как вариант, можно сделать архив с файлами и получить его контрольную сумму? Тогда, какие есть средства в Qt для работы с архивами? Название: Re: Как средствами QT получить контрольную сумму файла/папки/диска? Отправлено: Swa от Апрель 26, 2017, 22:04 Попробуйте QCryptographicHash http://doc.qt.io/qt-5/qcryptographichash.html (http://doc.qt.io/qt-5/qcryptographichash.html). Получите список всех файлов в директории, потом от каждого считайте MD5 хеш, затем сложите все хеши в один массив и посчитайте хеш от него. Перебирайте файлы всегда в одинаковом порядке, например по алфавиту.
Название: Re: Как средствами QT получить контрольную сумму файла/папки/диска? Отправлено: qate от Апрель 27, 2017, 09:04 есть хорошая свободная консольная программа md5sum, которая считает и проверяет суммы файлов и каталогов (для венды тоже есть)
необходимо посчитать суммы, записать в файл, а затем сравнить все что нужно от qt - вызвать её и выдать результат на экран не нужно ничего писать самому (отлаживать и ловить баги, и будет медленнее), все уже сделано также такой вариант будет работать без qt, бывает и так нужно Название: Re: Как средствами QT получить контрольную сумму файла/папки/диска? Отправлено: Igors от Апрель 27, 2017, 09:12 А может стоит умерить аппетит и удовлетвориться проверкой длины + даты модификации файла
Название: Re: Как средствами QT получить контрольную сумму файла/папки/диска? Отправлено: qate от Апрель 27, 2017, 11:31 А может стоит умерить аппетит и удовлетвориться проверкой длины + даты модификации файла если говорить о CD то проверять md5 это еще и проверять чтение, что актуально при царапинах, например |