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

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

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

Post by Ariman »

Анонс

Хотелки от пользователей:
  • работа с плагиновыми панелями, на которых реальные файлы
  • сравнить хэш с содержимым клипборда
  • возможность использовать upper case для шестнадцатеричного вывода
  • поддержка выбора кодировки для файлов хеш-листов
  • опция 1 хеш файл на 1 каталог
  • генерация одновременно нескольких хешей для файла
  • возможность сравнить вновь вычисленный хэш с предыдущим
  • запуск генератора через префикс
  • сохранение в лог ошибок при генерации
  • добавить поддержку ed2k хешей
Для желающих тестировать последние изменения, актуальные бинарники можно взять здесь.
Last edited by Ariman on Thu 12 Dec, 2019 12:11, edited 13 times in total.

reaperman
Posts: 30
Joined: Wed 17 May, 2006 08:48
Has thanked: 3 times
Been thanked: 1 time

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

Post by reaperman »

Latest post of the previous page:

Я, к сожалению, не в курсе как Far и ConEmu "дружат" между собой с т.з. программной реализации делегирования друг другу всяких фишек, но отражение в таскбаре прогресса встроенного копирования работает и в "отдельном" Фаре, и в ConEmu.
Сильно подозреваю, что современная винда достаточно умна для того, чтобы отслеживать изменение заголовков окон и понимать, что там есть проценты прогресса какой-то операции. Эта догадка косвенно подтверждается тем, что виндовые порты wget/curl, запущенные в консоли, также приводят к отображению прогресса в таскбаре, хотя наверяка в них нет никакого специального кода для этого.
Так что, возможно, суть просто в том, что IntegrityChecker не дублирует проценты в заголовке окна Фара.

Locust
Posts: 33
Joined: Wed 08 Apr, 2009 07:14
Has thanked: 2 times
Been thanked: 2 times

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

Post by Locust »

Насколько сложно (целесообразно?) добавить распознавание линуксовых md5sum.txt? Вида:

Code: Select all

37536b6bed5498bbf34f957612088c07  ./casper/filesystem.size
0c63165a77fe993e5b3f17100ee84839  ./casper/filesystem.manifest
70bcbd8ead434af1ea320aa9a94d1ed8  ./casper/filesystem.squashfs
Спасибо.

Ariman
Posts: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

reaperman wrote:Я, к сожалению, не в курсе как Far и ConEmu "дружат" между собой
Да тут дело не в том как дружат. Если ConEmu будет показывать в таскбаре прогресс, может быть не понятно от какого именно фара, из тех, которые открыты внутри ConEmu, этот прогресс. А если в двух разных фарах запустить плагин на разные операции, то прогрессы от обоих перемешаются по идее.
Locust wrote:Насколько сложно (целесообразно?) добавить распознавание линуксовых md5sum.txt? Вида:
Та вроде должны и так распознаваться. Не работает на таких файлах?

Locust
Posts: 33
Joined: Wed 08 Apr, 2009 07:14
Has thanked: 2 times
Been thanked: 2 times

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

Post by Locust »

Ariman
Не работает.
"Ни одного файла из списка не существует"
Оно , конечно, не сложно заменить ./ на * и все слэши на обратные, но хотелось бы "искаропки" :-)

Ariman
Posts: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

Locust wrote:Не работает.
Непорядок, буду править. По задумке должно любые пути переваривать.

Fedia
Posts: 30
Joined: Tue 06 Oct, 2009 12:22

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

Post by Fedia »

тоже пару хотелок:
1. Добавить опцию в настройки плагина для отключения вставки копирайта и пустой строки (; Generated by Integrity Checker...) в генерируемый .md5
2. Добавить опцию в настройки плагина для вставки размера файла в байтах

ps
поставил IntChecker2_Far3_x64_241, и вот такой путь не обрабатывает:
b90f2d389f02540985f98f5f39ebd7a7 out/target/product/aosp-ru.android.20160601.122253.zip

Ariman
Posts: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

Fedia wrote:1. Добавить опцию в настройки плагина для отключения вставки копирайта и пустой строки (; Generated by Integrity Checker...) в генерируемый .md5
А смысл такого внедрения? Формат комментарии позволяет, все поддерживающие тулзы должны копирайт игнорировать. Если так мешает, то можно и вручную удалить, файл текстовой.
Fedia wrote:2. Добавить опцию в настройки плагина для вставки размера файла в байтах
Формат хешфайла не подразумевает размера. Плагин ориентирован на поддержку существующего распространенного формата от утилит md5sum сотоварищи.
Fedia wrote:поставил IntChecker2_Far3_x64_241, и вот такой путь не обрабатывает:b90f2d389f02540985f98f5f39ebd7a7 out/target/product/aosp-ru.android.20160601.122253.zip
Между хешем и путём нужно либо 2 пробела, либо пробел и *, тогда обработает.

Fedia
Posts: 30
Joined: Tue 06 Oct, 2009 12:22

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

Post by Fedia »

Ariman
Ну я же не предложил вам его полностью удалить. Сделайте возможность отключения, а по умолчанию можно оставить включенным.
Смысл в том, что файлы md5 генерируемые на других ОС идут "чистыми", а файлы из плагина снабжаются этим комментарием. Получается в каких-то случаях чистые файлы, в каких-то комментарий, и глаз за него цепляется, мешает быстро "прочесть" файл глазами.
Вообще не понимаю, какой сокровенный смысл лепить этот комментарий в каждый файл? У нас веть не BolgenOS...

Про пробел, ну вот так сборщик генерирует, наверное он не знает про "распространенный формат от утилит md5sum".

Ariman
Posts: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

Fedia wrote:Вообще не понимаю, какой сокровенный смысл лепить этот комментарий в каждый файл?
Чтобы отличать файлы созданные плагином от созданных чем-то другим.
Fedia wrote:Про пробел, ну вот так сборщик генерирует, наверное он не знает про "распространенный формат от утилит md5sum".
Ну как-то более логично поддерживать стандартный и документированный формат всех линуксов (а coreutils таки стандарт), чем форматы посторонних программ.

User avatar
Alexander84
Posts: 123
Joined: Fri 01 May, 2009 06:38
Has thanked: 14 times
Been thanked: 2 times

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

Post by Alexander84 »

Предлагаю шагнуть в будущее, которое уже наступило, и добавить поддержку xxHash.
Кому нужно считать контрольные суммы больших файлов (iso, mkv, БД) — сразу оценят скорость.
Исходники и текущие реализации есть на странице автора.

Image

Правка: Ещё немного вкусных сравнений, ещё выше скорость! И всего 202 строчки кода.

Ariman
Posts: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

Всё это, конечно, красиво, но никакого желания соединять либу, которая в плагине используется, с каким-то сторонним кодом нет.

User avatar
Alexander84
Posts: 123
Joined: Fri 01 May, 2009 06:38
Has thanked: 14 times
Been thanked: 2 times

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

Post by Alexander84 »

Т.е. библиотека чужая, а вы автор обвязки для Фара? Понял.

Тогда снимаю вопрос, зачем тут SHA512 и тем более Whirlpool — криптохэши, скорость вычисления и визуальная длина которых малопригодны (а потому и мало распространены) для проверки целостности файлов (эти алгоритмы чаще используют для паролей и подписей). Реально востребованы CRC32 (жаль нет более современного и менее прожорливого CRC32C), MD5, SHA1, с натяжкой SHA256 и BLAKE2SP-256.

Теперь основное замечание после месяца использования. Существенный плюс Фара заключён в псевдографическом интерфейсе, где отвлекающие внимание свистелки и перделки редуцированы до необходимого рабочего минимума, который дался в многочасовых спорах и был отполирован сотней багфиксов. А от окна плагина Integrity Checker реально болит голова и устают глаза, словно смотришь на неисправный монитор, по которому бегут полосы, ведь каждая строчка при обсчёте файлов дёргается туда-сюда! (см. скринкаст, 1 Мб)

Да, Ariman, я предлагаю перерисовать окно операции, взяв за образец окна копирования и архивирования. И начать с того, чтобы заголовок был не Processing, а само название операции, скажем, Generating hash (CRC32). И, кстати, в режиме проверки файлов (скажем, после активации плагина на .sfv) хорошо бы менять заголовок на Verifying, ибо иногда теряешься: запустил ты генерацию или всё же проверку.

Мегамонстр
Posts: 54
Joined: Fri 24 Aug, 2012 15:24

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

Post by Мегамонстр »

Ура! Сайт заработал!

Я тоже считаю, что xxHash должен иметь место в этом плагине. Я скачал исходники xxhsum, скомпилил и не встретил никаких проблем с ними. Не видел исходников плагина, но думаю, что вставить код не представит проблем.

Ariman
Posts: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

Alexander84 wrote:Т.е. библиотека чужая, а вы автор обвязки для Фара? Понял.
При хорошем разнообразии библиотек писать свою как-то глупо. Используется у меня RHash.
Alexander84 wrote:Тогда снимаю вопрос, зачем тут SHA512 и тем более Whirlpool — криптохэши, скорость вычисления и визуальная длина которых малопригодны (а потому и мало распространены) для проверки целостности файлов (эти алгоритмы чаще используют для паролей и подписей). Реально востребованы CRC32 (жаль нет более современного и менее прожорливого CRC32C), MD5, SHA1, с натяжкой SHA256 и BLAKE2SP-256.
Ну SHA256 сейчас стал хорошо распространятся во всяких Unix системах.
Добавление алгоритма в плагин, из уже имеющихся в библиотеке, по сути, требует только изменений в интерфейсе. Так что выбор того что использовать не был чем-то глубоко продуманным, выбрал то что посчитал полезным. Если бы их требовалось внедрять по отдельности, то другой вопрос.
Alexander84 wrote:ведь каждая строчка при обсчёте файлов дёргается туда-сюда!
Дергание происходит от того, что окно пытается подстроиться под длину имени файла (вплоть до ширины окна Фара). Когда много мелких файов с разной длиной пути, то может быть неудобно.
Подумаю над предложением.
Мегамонстр wrote:Не видел исходников плагина, но думаю, что вставить код не представит проблем.
Исходники доступны там же где и бинарники.

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

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

Post by HaRT »

Ariman wrote: окно пытается подстроиться под длину имени файла (вплоть до ширины окна Фара)
Можно было бы просто никогда не уменьшать ширину окна. Ну или уменьшать не сразу и/или только до некоего среднего значения по уже обработанным.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Alexander84
Posts: 123
Joined: Fri 01 May, 2009 06:38
Has thanked: 14 times
Been thanked: 2 times

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

Post by Alexander84 »

Ограничения это прекрасно, мобилизуют и дисциплинируют. Скажем, HDD объёмом 1 Гб и скорость подключения к сети 33.6 Кбит/с в 90-е заложили привычки хранить без бардака и качать по делу. Отсюда и пожелание видеть в плагине алгоритм xxHash, ибо хотя при обсчёте файлов он и упрётся в скорость чтения диска наравне с криптохэшами типа SHA1 или BLAKE2SP, но, как и CRC32, загрузит процессор на порядок меньше (1-4% против 30-50% на двухядерной системе), оставляя ресурсы другим приложениям и экономя электроэнергию.

Итак, как упростить для восприятия окно операции Integrity Checker? Сперва зафиксируем окно по ширине, сделаем выравнивание по левому краю, а затем критически оценим необходимость каждого динамического элемента. Например, нужно ли выводить полный путь до хэшируемого файла? Нет, как и в случае копирования/архивирования, достаточно [начало пути ... конец названия файла.расширение]. Как часто следует обновлять индикаторы, т.е. зачем эта беготня от 0% до 100%, если файл считается секунду (см. опять же копирование)? Возможно, стоит добавить прогрессбар, дабы иметь приблизительное представление о состоянии вычисления хэша, которое на удивление нагляднее, чем куча чисел («так, уже посчиталось 1234 файла из 123456, что есть x%, а это четверть, треть, чай успею попить?»).

Post Reply

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