GNU/Linux >> Znalost Linux >  >> Linux

Jak ověřit integritu souboru pomocí kontrolního součtu md5

Programy kontrolního součtu se používají ke generování řetězců klíčů kontrolního součtu ze souborů a později k ověření integrity souborů pomocí tohoto řetězce kontrolního součtu. Soubor může být distribuován po síti nebo na jakémkoli úložném médiu do různých míst určení. Z mnoha důvodů existuje šance, že soubor bude poškozen kvůli několika chybějícím bitům během přenosu dat z různých důvodů. K těmto chybám dochází nejčastěji při stahování souborů z internetu, přenosu po síti, poškození CD-ROM atd.

Potřebujeme tedy pomocí nějakého testu zjistit, zda je přijatý soubor správný nebo ne. Speciální klíčový řetězec, který se používá pro tento test integrity souboru, se nazývá kontrolní součet . Nejznámější a nejrozšířenější technikou kontrolního součtu je md5sum .

Výpočet součtu md5

1. Nejprve musíme vypočítat součet md5 souboru. Chcete-li vytisknout kontrolní součet md5 na terminálu, použijte příkaz md5sum následovaný názvem souboru.

# md5sum file 
dcf21e3a1a0181294bceae07ec16a9d9  file

md5sum je 32znakový hexadecimální řetězec, jak je uvedeno.

2. Můžete také přesměrovat md5sum do souboru, jak je ukázáno níže.

# md5sum file > hash.md5

3. Můžete také vytvořit md5sum hash pro více souborů pomocí stejného příkazu.

# md5sum file1 file2 file3

Ověření integrity souboru pomocí kontrolního součtu md5

1. Chcete-li ověřit, že alfanumerický řetězec, který byl vytištěn na terminálu, odpovídá hash md5, který byl poskytnut se souborem. Pro ověření kontrolního součtu md5 ze souboru.

# md5sum -c hash.md5
file: OK

Program vytiskne do konzole název souboru a je v pořádku, pokud je ověřen. Formát souboru by měl být:hash(dvě mezery)název souboru.

# vim hash.md5
dcf21e3a1a0181294bceae07ec16a9d9  file

2. Pokud selže kontrolní součet souboru, dostanete výstup, jak je ukázáno níže.

$ md5sum -c hash.md5
file: FAILED

Jak rekurzivně zkontrolovat kontrolní součet všech souborů v některém adresáři

Předpokládejme, že chcete zkontrolovat kontrolní součet všech souborů/podadresářů v některém adresáři. Nástroj md5sum nemá rekurzivní možnost. Nebojte se, zde můžete použít malý trik.

1. Můžete vytvořit seznam md5sum kombinací find a md5sum. Například:

# find [DirectoryName] -type f -exec md5sum {} \; > ~/md5sum.txt

výše uvedený příkaz vám umožňuje vytvořit seznam md5sum pro všechny soubory v některém adresáři.

2. Chcete-li to zkontrolovat, můžete jednoduše postupovat takto:

# md5sum --check md5sum.txt > result.txt

md5deep pro výpočet kontrolního součtu pro adresáře

Kontrolní součty se obvykle počítají na souborech. Ale pokud je chcete vypočítat v adresáři, budete muset rekurzivně vypočítat kontrolní součty pro všechny soubory v adresáři. Toho lze snadno dosáhnout pomocí nástroje „md5deep“. Například pro výpočet md5součtu v adresáři.

# md5deep -rl /path/to/directory > directory.md5

Tady,
-r – poskytuje funkci rekurzivního součtu md5
-l – se používá pro relativní cestu. Ve výchozím nastavení zapíše do výstupu absolutní cestu k souboru.


Linux
  1. Jak přidat nový řádek na konec souboru?

  2. Jak získat součet Md5 obsahu adresáře jako jeden součet?

  3. Jak najít proces s maximálním počtem deskriptorů souborů?

  1. Jak ohraničit -f nejnovější soubor protokolu s daným vzorem

  2. příkaz tr - jak nahradit řetězec \n skutečným novým řádkem (\n)

  3. Jak podložit soubor pomocí FF pomocí dd?

  1. Jak ověřit syntaxi souboru /etc/ssh/sshd_config

  2. Jak napsat soubor s C v Linuxu?

  3. Jak připojit výstup do souboru?