有没有类似 Linux 版 HashTab 的东西?

有没有类似 Linux 版 HashTab 的东西?

我最近安装了 Linux,我知道你可以在终端中使用“md5sum filename”,但在 Windows 上有一个很棒的软件叫做标签将其合并到 shell 中。

它很棒,你只需右键单击一个文件,它就会为你提供 md5、crc32 和 sha-1,并且它会提供一个框,你可以在其中复制实际的 md5,然后它会为你进行比较。我认为这个程序很巧妙,我希望 Linux 有一个替代方案。有人知道吗?

答案1

作为前 Windows XP 用户,我习惯于使用 Windows 资源管理器属性窗口中的 Hashtab 工具。在寻找与此方便的 Hastab 工具相同的 Ubuntu GNU Linux 版本时,我最近偶然发现了一款​​名为“GtkHash”适用于 Ubuntu GNU Linux(只需在“Ubuntu 软件中心”搜索“GtkHash”)。

在 Ubuntu 10.10 Maverick Meerkat 中安装“GtkHash”仅需几秒钟,之后可以在以下位置找到该工具:

  • 应用
    • 配件
      • 哈希表

哈希表支持如下哈希函数:

  • MD5
  • SHA1
  • SHA256
  • SHA512
  • 瑞普德
  • 哈弗
  • 老虎
  • 惠而浦
  • 和别的。

我个人认为“GtkHash”是我在 Windows XP 时代在 Ubuntu GNU Linux 上使用的 hashtab 工具体验的最佳替代品。

向全世界所有的 Linux 用户问好!:)

答案2

我认为这是第二好的选择。将以下代码放入$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

编辑:我只是添加了一些格式细节。

编辑:我知道如何避免使用临时文件。

答案3

我一直很喜欢方便、可编写脚本的 md5sum 命令。
不过,似乎有一个名为夏日Sourceforge
也许,它会对你有用。

相关内容