Windows 上是否有与 Hashtab 相当的校验和实用程序?

Windows 上是否有与 Hashtab 相当的校验和实用程序?

我在 Windows 中使用 Hashtab 来计算文件的哈希值。我只需右键单击文件,单击属性,在属性菜单中就会出现一个名为“Hash”的选项卡,其中包含不同格式的文件哈希值,例如 MD5、SHA-1 等。

Ubuntu 有类似的东西吗?

答案1

您没有说您正在使用什么窗口管理器或文件管理器。

如果你使用 Gnome 和 Nautilus,你可以安装nautilus-gtkhash 安装 nautilus-gtkhash包。这会将“摘要”选项卡添加到文件的“属性”对话框中。

注意:您必须重新启动 Nautilus 才能nautilus -q显示该选项卡。

答案2

自定义 Nautilus 脚本

虽然有一些现有的实用程序,但人们总是可以编写脚本来执行此类任务,这就是我所做的。下面介绍的脚本是用 Python 3 编写的,使用内置函数执行多种哈希类型的哈希总和计算,并在zenity文本视图窗口中显示结果。

用法

首先设置脚本。将脚本源代码保存为文件~/.local/share/nautilus/scripts夹中的文件。在我的示例中,我将其保存为。通过 GUI 选项或终端中的命令get_hashsums.py使文件可执行。chmod +x

此时,可以通过右键菜单访问该脚本,并且该脚本将在Scripts子菜单中可用。

在此处输入图片描述

当您单击时get_hashsums.py,脚本将执行所有必要的计算,并显示zenity包含可通过执行的所有哈希总和的文本视图窗口hashlib

在此处输入图片描述

脚本源代码

也可以在我的个人帐户中GitHub 存储库(可能包含更多新增功能)。

#!/usr/bin/env python3
import sys
import urllib.parse
import hashlib
import os
import subprocess
import tempfile
from collections import OrderedDict as od

def get_hashsums(file_path):
    hash_sums = od()
    hash_sums['md5sum'] = hashlib.md5()
    hash_sums['sha1sum'] = hashlib.sha1()
    hash_sums['sha224sum'] = hashlib.sha224()
    hash_sums['sha256sum'] = hashlib.sha256()
    hash_sums['sha384sum'] = hashlib.sha384()
    hash_sums['sha512sum'] = hashlib.sha512()

    with open(file_path, 'rb') as fd:
        data_chunk = fd.read(1024)
        while data_chunk:
              for hashsum in hash_sums.keys():
                  hash_sums[hashsum].update(data_chunk)
              data_chunk = fd.read(1024)

    results = od()
    for key,value in hash_sums.items():
         results[key] = value.hexdigest()         
    return results

def puke(message):
    sys.stderr.write(message + '\n')
    subprocess.call(['zenity', '--error', '--text', message])
    sys.exit(2)

def write_temp_file(data):
    temp = tempfile.mkstemp()[1]
    with open(temp, 'w') as fd:
        fd.write(data)
    return temp


def main():
    uri_list = os.getenv("NAUTILUS_SCRIPT_SELECTED_URIS").strip().split()
    output_lines = []
    for uri in uri_list:
        uri_decoded = urllib.parse.unquote(uri)
        path = uri_decoded.replace('file://','').strip()
        if not os.path.isfile(path):
             puke(path+" is not a regular file")
        text = ""
        text = path + "\n" 
        hashsums = get_hashsums(path)
        for key,value in hashsums.items():
              text = text + key + " " + value + "\n"
        output_lines.append(text)

    output_file = write_temp_file("\n".join(output_lines))
    subprocess.call(['zenity','--text-info',
                     '--title','Hash Sums',
                     '--filename',output_file])
    os.unlink(output_file)

if __name__ == '__main__': 
    try:
        main()
    except Exception as e:
        puke(repr(e))

答案3

你也可以尝试这个“哈希检查器”

http://gnome-look.org/content/download.php?content=129309&id=1&tan=39290839

如何-

如何安装/卸载 从 GUI:只需运行“安装”脚本并按照说明操作即可。从终端:cd 进入 Hash Checker 文件夹并输入“./Setup –help”(不带引号)以查看可用的语言切换

使用方法与 Nautilus 一起使用:在 Nautilus 中右键单击某处,转到脚本 > 检查哈希值,然后浏览到要检查的文件,或者(为了避免浏览文件)右键单击要检查的文件,然后转到脚本 > 检查哈希值。与任何文件管理器一起使用:单击哈希检查器的桌面图标以运行它,然后浏览到要检查的文件

依赖项 Zenity(用于显示 GUI)md5sum 和 sha256sum(大多数发行版默认都有)

我从这个网站得到

http://ubuntuguide.net/md5sha256-hash-checker-gui-for-ubuntu-downloadsfiles

您还可以看到

http://www.sinf.gr/en/hashcalc.html

第一个网站的评论中提到了这一点。

答案4

一个独立于桌面的解决方案是哈希表

用于计算消息摘要或校验和的 GTK+ 实用程序

在此处输入图片描述

如果你正在使用 Thunar,那么你也可以使用thunar-gtkhash插件。它的工作原理与 Nautilus 扩展类似。

相关内容