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

Здесь можно обсудить ваш любимый плагин.
Ariman
Posts: 1155
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 10 times
Been thanked: 23 times
Contact:

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

Post by Ariman » Wed 10 Nov, 2010 14:58

Анонс

Хотелки от пользователей:
  • работа с плагиновыми панелями, на которых реальные файлы
  • генерация одновременно нескольких хешей для файла
  • возможность сравнить вновь вычисленный хэш с предыдущим
  • сравнить хэш с содержимым клипборда
  • запуск генератора через префикс
  • возможность использовать upper case для шестнадцатеричного вывода
  • сохранение в лог ошибок при генерации
  • поддержка выбора кодировки для файлов хеш-листов
  • опция 1 хеш файл на 1 каталог
Last edited by Ariman on Thu 04 Aug, 2016 08:29, edited 8 times in total.

User avatar
HaRT
Moderator
Posts: 8111
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 104 times

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

Post by HaRT » Fri 07 Jul, 2017 22:49

Latest post of the previous page:

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

Ariman
Posts: 1155
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 10 times
Been thanked: 23 times
Contact:

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

Post by Ariman » Sat 08 Jul, 2017 13:49

Чтобы выделено было можно валидацию запустить по файлу. Будет тоже самое, но на одной панели.
Я так понял товарищ хочет чтобы можно было использовать какой-то сторонний плагин сравнения. А, учитывая, что мы знаем только хеш файла, и то его наружу другому плагину не отдашь, то не понятно как он это себе представляет. Ну или я не понял его мысль.

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

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

Post by Shmuel » Sat 08 Jul, 2017 14:52

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

Ariman
Posts: 1155
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 10 times
Been thanked: 23 times
Contact:

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

Post by Ariman » Mon 10 Jul, 2017 10:21

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

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

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

Post by Shmuel » Mon 10 Jul, 2017 10:27

Ariman, если надо, отвечу на вопросы, с этим связанные (в форуме или в личке - без разницы).

User avatar
Alexander84
Posts: 82
Joined: Fri 01 May, 2009 06:38
Has thanked: 6 times

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

Post by Alexander84 » Wed 12 Jul, 2017 01:52

Ariman, пожалуйста, добавьте поддержку UNC-путей, а то сейчас при сверке test.sha1

Code: Select all

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

Code: Select all

File is not a valid hash list
Например, Rhash и SVFNinja такую запись переваривают.
Last edited by Alexander84 on Wed 12 Jul, 2017 01:52, edited 1 time in total.

akindhacker
Posts: 50
Joined: Wed 19 Apr, 2006 00:07

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

Post by akindhacker » Wed 12 Jul, 2017 23:20

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

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

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

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

User avatar
Alexey Samlyukov
Posts: 1759
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 2 times
Contact:

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

Post by Alexey Samlyukov » Thu 13 Jul, 2017 04:32

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

Ariman
Posts: 1155
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 10 times
Been thanked: 23 times
Contact:

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

Post by Ariman » Thu 13 Jul, 2017 10:21

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
Один из сценариев использования идеи такой. У вас есть куча старых винтов. Вы их зачексуммили. А потом имея такой имидж вы точно можете сказать лежит ли уже вот этот конкретный файл на каком-то из винтов или его надо ещё бекапить.
А чем в таком раскладе плохо просто запустить валидацию с хеш-файла? Тоже на выходе даст список несовпадающих файлов.

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

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

Post by Shmuel » Thu 13 Jul, 2017 10:41

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

akindhacker
Posts: 50
Joined: Wed 19 Apr, 2006 00:07

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

Post by akindhacker » Thu 13 Jul, 2017 18:11

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

Ariman
Posts: 1155
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 10 times
Been thanked: 23 times
Contact:

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

Post by Ariman » Fri 14 Jul, 2017 08:40

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

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

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

Post by Shmuel » Fri 14 Jul, 2017 08:52

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

Ariman
Posts: 1155
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 10 times
Been thanked: 23 times
Contact:

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

Post by Ariman » Fri 14 Jul, 2017 14:13

Спасибо, посмотрю.
А как скрипт будет выглядеть? Я скрипты для Фара не писал никогда. С чего начинать?

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

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

Post by Shmuel » Fri 14 Jul, 2017 14:35

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-го параметра (тип операции; имена типов операций плагина определяет плагин) запустить указанную операцию, поместить её результат в структуру, возвратить Фару соответствующий указатель.

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

Ariman
Posts: 1155
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 10 times
Been thanked: 23 times
Contact:

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

Post by Ariman » Fri 14 Jul, 2017 15:15

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

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

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

Post by Shmuel » Fri 14 Jul, 2017 15:30

Для тестов - сделайте, например, простейший макрос для подсчёта хэша файла под курсором.

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;
}

Post Reply

Return to “Обсуждение плагинов”