J'utilise Hashtab dans Windows pour calculer le hachage d'un fichier. Tout ce que j'ai à faire est de cliquer avec le bouton droit sur le fichier, de cliquer sur les propriétés. Dans le menu des propriétés, un onglet appelé hachage contient le hachage du fichier dans différents formats, tels que MD5, SHA-1, etc.
Est-ce qu'il y a quelque chose comme ça pour Ubuntu?
Vous ne dites pas quel gestionnaire de fenêtres ou de fichiers que vous utilisez.
Si vous utilisez Gnome et Nautilus, vous pouvez installer nautilus-gtkhash package. Cela ajoute un onglet "Digests" à la boîte de dialogue Propriétés pour un fichier.
REMARQUE: vous devrez redémarrer Nautilus avec nautilus -q
avant que l'onglet n'apparaisse.
Vous pouvez également essayer ce "Hash Checker"
http://gnome-look.org/content/download.php?content=129309&id=1&tan=39290839
Comment-
COMMENT INSTALLER/DÉSINSTALLER À partir de l’interface graphique: Il suffit d’exécuter le script "Setup" et de suivre les instructions. Depuis le terminal: insérez-vous dans le dossier de Hash Checker et tapez ‘./Setup –help’ (sans guillemets) pour afficher les changements de langue disponibles.
UTILISATION Utilisation avec Nautilus: Cliquez avec le bouton droit de la souris sur Nautilus, accédez à Scripts> Vérifier le ou les hachages, puis recherchez le fichier à vérifier ou (pour éviter de rechercher un fichier), cliquez avec le bouton droit de la souris sur le fichier à vérifier. puis allez dans Scripts> Check hash (es). Utilisation avec n’importe quel gestionnaire de fichiers: Cliquez sur l’icône du bureau du vérificateur de hachage pour l’exécuter, puis recherchez le fichier à vérifier.
DÉPENDANCES Zenity (pour afficher l'interface graphique) md5sum et sha256sum (la plupart des distributions les ont toutes les deux par défaut)
Je l'ai eu de ce site
http://ubuntuguide.net/md5sha256-hash-checker-gui-for-ubuntu-downloadsfiles
Vous pouvez aussi voir ça
http://www.sinf.gr/en/hashcalc.html
Cela a été mentionné dans les commentaires du premier site.
Une solution indépendante du bureau est GtkHash :
Un utilitaire GTK + pour calculer les résumés de messages ou les totaux de contrôle
Si vous utilisez Thunar, vous pouvez également utiliser le plugin thunar-gtkhash
. Cela fonctionne de la même manière que l’extension Nautilus.
Bien qu'il existe quelques utilitaires existants, on peut toujours écrire un script pour effectuer une telle tâche, ce que j'ai fait. Le script présenté ci-dessous est écrit en Python 3 et utilise des fonctions intégrées pour effectuer des calculs de somme de hachage de plusieurs types de hachage et affiche le résultat dans la fenêtre d'affichage de texte zenity
.
Commencez par configurer le script. Enregistrez le code source du script en tant que fichier dans le dossier ~/.local/share/nautilus/scripts
. Dans mon exemple, je l'ai enregistré sous le nom get_hashsums.py
. Rendre le fichier exécutable via les options de l'interface graphique ou via la commande chmod +x
dans le terminal.
À ce stade, le script est accessible via le menu contextuel et sera disponible dans le sous-menu Scripts
.
Lorsque vous cliquez sur le get_hashsums.py
, le script effectue tous les calculs nécessaires et affiche la fenêtre d'affichage de texte zenity
avec toutes les sommes hachées pouvant être effectuées via hashlib
.
Egalement disponible sur mon site personnel référentiel GitHub (qui peut contenir davantage de fonctionnalités ajoutées).
#!/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 __== '__main__':
try:
main()
except Exception as e:
puke(repr(e))