我在 Windows 中使用 Hashtab 来计算文件的哈希值。我只需右键单击文件,单击属性,在属性菜单中就会出现一个名为“Hash”的选项卡,其中包含不同格式的文件哈希值,例如 MD5、SHA-1 等。
Ubuntu 有类似的东西吗?
答案1
您没有说您正在使用什么窗口管理器或文件管理器。
如果你使用 Gnome 和 Nautilus,你可以安装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 扩展类似。