Existe alguma coisa como o HashTab for Linux?

5

Eu recentemente instalei o Linux, e eu sei que você pode usar o "md5sum filename" no terminal, mas no Windows há um software incrível chamado HashTab que incorpora no shell.

É incrível, basta clicar com o botão direito em um arquivo, ele fornece o md5, o crc32 e o sha-1, e fornece uma caixa onde é possível copiar o md5 real e compará-lo para você. Eu acho que esse programa é engenhoso, e espero que haja uma alternativa para o Linux. Alguém sabe de um?

GiH
fonte
Qual ambiente de área de trabalho (ou realmente, qual gerenciador de arquivos) você está usando?
David Z
Gnomo e Nautilus
GiH
+ 1 para explicar o que faz e não presumir que todos saberão disso.
user unknown

Respostas:

4

Como um ex-usuário do Windows XP, eu me acostumei com a ferramenta Hashtab na janela de propriedades do Windows Explorer. Em busca de um equivalente Ubuntu Ubuntu GNU Linux desta prática ferramenta Hastab eu recentemente deparei com uma grande ferramenta hastab chamada "GtkHash" para o Ubuntu GNU Linux (apenas procure por "GtkHash" no "Ubuntu Software Center").

Instalação do "GtkHash" no Ubuntu 10.10 O Maverick Meerkat leva apenas alguns segundos e depois a ferramenta pode ser encontrada em:

  • Aplicações
    • Acessórios
      • GtkHash

GtkHash suporta funções hash como:

  • MD5
  • SHA1
  • SHA256
  • SHA512
  • RIPEMD
  • HAVAL
  • TIGRE
  • HIDROMASSAGEM
  • e outros.

Eu pessoalmente acho que o "GtkHash" é o melhor substituto para a experiência da ferramenta hashtab que tive nos meus dias do Windows XP para o Ubuntu GNU Linux.

Saudações a todos os usuários do Linux em todo o mundo! :)

don colon
fonte
obrigado, a resposta da supercheetah foi a melhor solução, mas isso é muito mais simples
GiH
7

Esta é a próxima melhor coisa, eu acho. Coloque o seguinte código em $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

Eu chamei o arquivo hashes, mas você pode chamar o que quiser. Certifique-se de definir a permissão de execução (por exemplo, chmod +x hashes ).

Aqui está a segunda parte que prometi:

#!/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

Este segundo roteiro eu chamei compare hashes.

EDIT: esta é a versão final. Este faz ambos os hashes, e comparação com um while loop para que mais de uma comparação possa ser feita.

#!/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

Esta versão final eu chamei hash and compare.

EDIT: Acabei de adicionar algumas sutilezas de formatação.

EDIT: Eu descobri como evitar o uso de um arquivo temporário.

supercheetah
fonte
Ah, eu acho que você também queria comparar coisas. Não deve ser muito difícil estender o script, mas terei que fazer isso mais tarde.
supercheetah
Acabei de perceber que acho que poderia combinar os dois em um roteiro. Eu farei isso daqui a pouco.
supercheetah
Você é incrível! Minha única reclamação é que a interface é muito primitiva, mas você fez funcionar :-)
GiH
Provavelmente ficaria melhor com o zenity, mas isso nem sempre é instalado, e eu sei que o gdialog está disponível em qualquer lugar onde o gnome está instalado.
supercheetah
3

Eu sempre gostei do prático comando md5sum, que pode ser roteirizado.
No entanto, parece haver uma versão Java chamada JSummer a Sourceforge .
Talvez funcione para você.

nik
fonte