5

Я недавно установил Linux, и я знаю, что вы можете использовать "md5sum filename" в терминале, но в Windows есть ПО ИЗУМИТЕЛЬНОМУ названию HashTab, которое включает его в оболочку.

Это здорово, вы просто щелкаете правой кнопкой мыши по файлу, он дает вам md5, crc32 и sha-1, и предоставляет окно, в которое вы можете скопировать фактический md5, и он сравнивает его для вас. Я думаю, что эта программа гениальна, и я надеюсь, что есть альтернатива для Linux. Кто-нибудь знает об этом?

3 ответа3

7

Это следующая лучшая вещь, я думаю. Поместите следующий код в $HOME/.gnome2/nautilus-scripts:

#!/bin/sh
# Released into the public domain.
#
for arg
do

md5=$(md5sum "$arg" | awk '{print $1}')
sha1=$(sha1sum "$arg" | awk '{print $1}')
crc32=$(crc32 "$arg")

  gdialog --title "Hashes" --msgbox "File $arg\nmd5   $md5\nsha1  $sha1\ncrc32 $crc32" 800 1100

done

Я назвал hashes файлов, но вы можете называть это как хотите. Обязательно установите разрешение на выполнение (например, chmod +x hashes).

Вот вторая часть, которую я обещал:

#!/bin/sh
# Released into the public domain.
#
for arg
do

md5=$(md5sum "$arg" | awk '{print $1}')
md5compare=$(gdialog --title "MD5 comparison" --inputbox "MD5 hash to compare:" 200 3>&1 1>&2 2>&3)

if [ "$md5compare" = "$md5" ]; then
    gdialog --title "Match" --msgbox "Match confirmed" 200 200
else
    gdialog --title "No match" --msgbox "No match" 200 200
fi

done

Этот второй сценарий я назвал compare hashes .

РЕДАКТИРОВАТЬ: это окончательная версия. Это один делает как хэшей и сравнение с петлей в while , так что более чем одно сравнение может быть сделано.

#!/bin/sh
# Released into the public domain.
#
for arg
do
    md5=$(md5sum "$arg" | awk '{print $1}')
    sha1=$(sha1sum "$arg" | awk '{print $1}')
    crc32=$(crc32 "$arg")
    compare_msg="MD5 hash to compare:"
    md5compare=$(gdialog --title "Hashes and MD5 comparison" --inputbox "File $arg\nmd5\t\t$md5\nsha1\t\t$sha1\ncrc32\t$crc32\n\n$compare_msg" 1100 3>&1 1>&2 2>&3 )
    while [ $? -eq 0 ]
    do
        if [ "$md5compare" = "$md5" ]; then
            compare_msg="Match confirmed"
        else
            compare_msg="No match\n\t\t$md5compare"
        fi
        md5compare=$(gdialog --title "Hashes and MD5 comparison" --inputbox "File $arg\nmd5\t\t$md5\nsha1\t\t$sha1\ncrc32\t$crc32\n\n$compare_msg" 1100 3>&1 1>&2 2>&3 )
    done
done

Эту финальную версию я назвал hash and compare .

РЕДАКТИРОВАТЬ: я только добавил некоторые тонкости форматирования.

РЕДАКТИРОВАТЬ: я понял, как избежать использования временного файла.

4

Как бывший пользователь Windows XP, я привык к Hashtab-инструменту в окне свойств Windows Explorer. В поисках Ubuntu GNU Linux, эквивалентного этому удобному инструменту Hastab, я недавно наткнулся на отличный инструмент hastab под названием "GtkHash" для Ubuntu GNU Linux (просто найдите "GtkHash" в "Ubuntu Software Center").

Установка "GtkHash" в Ubuntu 10.10 Maverick Meerkat занимает всего несколько секунд, после чего инструмент можно найти в разделе:

  • Приложения
    • аксессуары
      • GtkHash

GtkHash поддерживает хеш-функции, такие как:

  • MD5
  • SHA1
  • SHA256
  • SHA512
  • RIPEMD
  • HAVAL
  • TIGER
  • WHIRLPOOL
  • и другие.

Лично я нахожу, что "GtkHash" - лучшая замена инструменту hashtab, который у меня был в те дни, когда я работал в Windows XP для Ubuntu GNU Linux.

Приветствую всех пользователей Linux по всему миру! :)

3

Мне всегда нравилась удобная команда md5sum с поддержкой сценариев.
Однако на Sourceforge , похоже, есть версия Java под названием JSummer .
Может быть, это будет работать для вас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .