Page 15 of 16

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Wed 10 Nov, 2010 14:58
by Ariman
Анонс

Хотелки от пользователей:
  • работа с плагиновыми панелями, на которых реальные файлы
  • генерация одновременно нескольких хешей для файла
  • возможность сравнить вновь вычисленный хэш с предыдущим
  • сравнить хэш с содержимым клипборда
  • запуск генератора через префикс
  • возможность использовать upper case для шестнадцатеричного вывода
  • сохранение в лог ошибок при генерации
  • поддержка выбора кодировки для файлов хеш-листов
  • опция 1 хеш файл на 1 каталог

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Fri 07 Jul, 2017 22:49
by HaRT

Latest post of the previous page:

Ariman wrote:
Fri 07 Jul, 2017 17:46
На основании чего плагин сравнения будет файлы сравнивать? Кроме имени и хеша ничего нет.
Как я понимаю, имеется в виду, чтобы на обеих панелях были выделены те элементы, для которых хэш реального файла не совпал со значением из списка в плагине.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Sat 08 Jul, 2017 13:49
by Ariman
Чтобы выделено было можно валидацию запустить по файлу. Будет тоже самое, но на одной панели.
Я так понял товарищ хочет чтобы можно было использовать какой-то сторонний плагин сравнения. А, учитывая, что мы знаем только хеш файла, и то его наружу другому плагину не отдашь, то не понятно как он это себе представляет. Ну или я не понял его мысль.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Sat 08 Jul, 2017 14:52
by Shmuel
Ariman wrote:
Sat 08 Jul, 2017 13:49
А, учитывая, что мы знаем только хеш файла, и то его наружу другому плагину не отдашь
Легко отдаётся наружу (и принимается вовнутрь) что угодно, с помощью OpenW / OPEN_FROMMACRO.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Mon 10 Jul, 2017 10:21
by Ariman
Shmuel wrote:
Sat 08 Jul, 2017 14:52
Легко отдаётся наружу (и принимается вовнутрь) что угодно, с помощью OpenW / OPEN_FROMMACRO.
Буду знать.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Mon 10 Jul, 2017 10:27
by Shmuel
Ariman, если надо, отвечу на вопросы, с этим связанные (в форуме или в личке - без разницы).

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Wed 12 Jul, 2017 01:52
by Alexander84
Ariman, пожалуйста, добавьте поддержку UNC-путей, а то сейчас при сверке test.sha1

Code: Select all

618402843cc9002c2587dcf7ecdf3a6b4ae07a3f  \\?\С:\длинныйпуть\index.html
получаем ошибку

Code: Select all

File is not a valid hash list
Например, Rhash и SVFNinja такую запись переваривают.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Wed 12 Jul, 2017 23:20
by akindhacker
Ariman wrote:
Sat 08 Jul, 2017 13:49
Я так понял товарищ хочет чтобы можно было использовать какой-то сторонний плагин сравнения.
Ни один плагин сравнения не берет в рассмотрение чексуммы из архивов. Хотя могли б - в архивах чексуммы часто присутствуют. То есть если вам надо достаточно точно убедиться, что файл в архиве и на диске один и тот же, вы вынуждены его разархивировать. Если б сравнивалки юзали чексуммы, этого делать не надо было.

Один из сценариев использования идеи такой. У вас есть куча старых винтов. Вы их зачексуммили. А потом имея такой имидж вы точно можете сказать лежит ли уже вот этот конкретный файл на каком-то из винтов или его надо ещё бекапить.

Даже если вы поняли мою идею, без расширенного плагина сравнения все равно мало смысла добавлять возможность входа в списки чексумм как в архивы.

Спасибо за плагин.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Thu 13 Jul, 2017 04:32
by Alexey Samlyukov
AdvCmpEx умеет сравнивать файлы в открытых архивах на панелях между собой, а также файл в архиве на одной панели и реальный файл на другой, если у файлов в архиве заполнено поле с чексуммой (поле CRC32 и стоит флаг OPIF_USECRC32).

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Thu 13 Jul, 2017 10:21
by Ariman
Shmuel wrote:
Mon 10 Jul, 2017 10:27
Ariman, если надо, отвечу на вопросы, с этим связанные (в форуме или в личке - без разницы).
Спасибо. Если дело дойдет до такой функциональности, то буду иметь в виду.
Alexander84 wrote:
Wed 12 Jul, 2017 01:52
добавьте поддержку UNC-путей
Добавлю. Сами UNC пути внутри плагина и так поддерживаются, а вот загрузчик хеш-файлов их не пропускает, не подумал что кто-то будет так пути сохранять.
akindhacker wrote:
Wed 12 Jul, 2017 23:20
Один из сценариев использования идеи такой. У вас есть куча старых винтов. Вы их зачексуммили. А потом имея такой имидж вы точно можете сказать лежит ли уже вот этот конкретный файл на каком-то из винтов или его надо ещё бекапить.
А чем в таком раскладе плохо просто запустить валидацию с хеш-файла? Тоже на выходе даст список несовпадающих файлов.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Thu 13 Jul, 2017 10:41
by Shmuel
Ariman wrote:
Thu 13 Jul, 2017 10:21
Спасибо. Если дело дойдет до такой функциональности, то буду иметь в виду.
Например, можно сделать возможным вызов плагина из макроса наподобие: hash = IntChecker(hashtype, filename)
Если это будет реализовано, то возможен будет и вызов из любого плагина.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Thu 13 Jul, 2017 18:11
by akindhacker
Ariman wrote:
Thu 13 Jul, 2017 10:21
А чем в таком раскладе плохо просто запустить валидацию с хеш-файла? Тоже на выходе даст список несовпадающих файлов.
Это конечно можно. Но для навигации огромных списков файлов удобней смотреть на них как на диск с папками, а не плоский список. Да и среди миллиона файлов на старом диске вполне может найтись другой файл с таким же именем. Не уверен, что вашему плагину можно точно указать по отношений к какой чексумме производить валидацию в случае дубликатов имен находящихся в разных каталогах.
Alexey Samlyukov wrote:
Thu 13 Jul, 2017 04:32
dvCmpEx умеет сравнивать файлы в открытых архивах на панелях между собой
Не знал. Великолепно. Наверно вам будет не тяжело доделать плагин, чтоб он сравнивал и более серьезные чексуммы, если вдруг появиться формат для входа в списки созданные Интергрити Чекер.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Fri 14 Jul, 2017 08:40
by Ariman
Shmuel wrote:
Thu 13 Jul, 2017 10:41
Например, можно сделать возможным вызов плагина из макроса наподобие: hash = IntChecker(hashtype, filename)
Интересная идея. А есть где-то подобная реализация уже, чтобы посмотреть как сделано?
akindhacker wrote:
Thu 13 Jul, 2017 18:11
Да и среди миллиона файлов на старом диске вполне может найтись другой файл с таким же именем.
Как бы в хеш-файле пути сохраняются, а не только имена. Если создавать список из корня диска, то всё дерево сохраниться со всеми каталогами.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Fri 14 Jul, 2017 08:52
by Shmuel
Ariman wrote:
Fri 14 Jul, 2017 08:40
Интересная идея. А есть где-то подобная реализация уже, чтобы посмотреть как сделано?
Вроде есть в некоторых плагинах от Max Rusov (ищите в исходниках OPEN_FROMMACRO). Может и ещё где-то - сейчас не помню. В Энциклопедии это всё описано.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Fri 14 Jul, 2017 14:13
by Ariman
Спасибо, посмотрю.
А как скрипт будет выглядеть? Я скрипты для Фара не писал никогда. С чего начинать?

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Fri 14 Jul, 2017 14:35
by Shmuel
Ariman wrote:
Fri 14 Jul, 2017 14:13
А как скрипт будет выглядеть?
В скрипте вызов может выглядеть примерно так: hash = IntChecker("gethash", "md5", "c:\\mydir\\myfile")
1-й параметр - требуемая операция плагина
2-й параметр (для операции "gethash") - тип хэша
3-й параметр (для операции "gethash") - путь к файлу
Возвращаемое значение (для операции "gethash") - строка в HEX-формате
Ariman wrote:
Fri 14 Jul, 2017 14:13
Я скрипты для Фара не писал никогда. С чего начинать?
Здесь есть недопонимание: вам (автору плагина) не нужно писать скрипты.
Вам нужно обработать OpenW с параметром OPEN_FROMMACRO, проверить валидность параметров, в зависимости от 1-го параметра (тип операции; имена типов операций плагина определяет плагин) запустить указанную операцию, поместить её результат в структуру, возвратить Фару соответствующий указатель.

В Энц. это всё есть, не хотелось бы повторяться. Ознакомьтесь по докам, если что будет неясно - разберёмся вместе.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Fri 14 Jul, 2017 15:15
by Ariman
Shmuel wrote:
Fri 14 Jul, 2017 14:35
Здесь есть недопонимание: вам (автору плагина) не нужно писать скрипты.
Ну хотя бы для тестов то надо что-нибудь иметь.

Integrity Checker — работа с хеш-суммами выделенных файлов

Posted: Fri 14 Jul, 2017 15:30
by Shmuel
Для тестов - сделайте, например, простейший макрос для подсчёта хэша файла под курсором.

Code: Select all

Macro {
  description="Test";
  area="Shell"; key="F1";
  action=function()
    far.Show (Plugin.SyncCall("E186306E-3B0D-48C1-9668-ED7CF64C0E65",
              "gethash", "md5", APanel.Path0.."\\"..APanel.Current))
  end;
}