Získajte hash súborov pomocou Windows PowerShell

Získanie súborov hash môže byť veľmi užitočné. To sa dá použiť napríklad na to, aby sa zabezpečilo, že zálohované súbory nie sú poškodené alebo pozmenené (generovaním hashov pred a po procese), alebo aby sa ubezpečil, že nikto neporušuje dôležitý súbor.

Môžete to vidieť aj na stránkach pre sťahovanie, ale ich použitie je obmedzené. Dôvod je jednoduchý: ak sa útočníkovi podarilo zmeniť súbor na stiahnutie, existuje šanca, že webová stránka bola tiež ohrozená. To by mohlo teoreticky prinajmenšom znamenať, že hash súboru zobrazený na webe bol tiež upravený tak, aby vyhovoval novej škodlivej verzii sťahovania.

V minulosti sme preskúmali značný počet programov týkajúcich sa hashovania: od rozšírenia HashTab systému Windows, cez HashMyFiles od spoločnosti Nirsoft po kontrolu súborov MD5 a MD5 Check Utility.

Získajte hash súborov pomocou Windows PowerShell

Ak potrebujete rýchlo vygenerovať hash súboru na počítači so systémom Windows, môžete na to použiť aj PowerShell.

Nemusí to byť také pohodlné, ako niektoré hashovacie programy, ale je to natívna implementácia, ktorá nevyžaduje prácu softvéru tretích strán. Je to užitočné napríklad v obmedzených prostrediach alebo ak nie je k dispozícii pripojenie na internet na stiahnutie týchto programov.

Generovanie hash bolo integrované do PowerShell 4.0. Je súčasťou systému Windows 8.1 a Windows Server 2012 R2 a je k dispozícii aj pre systém Windows 7 Service Pack 1, Windows Server 2012 a Windows Server 2008 R2 Service Pack 1.

  1. Klepnite na kláves Windows, napíšte PowerShell a stlačte Enter pre jeho spustenie.

Hlavným príkazom je get-filehash FILEPATH, napr. Get-filehash c: \ test.txt .

Get-FileHash štandardne používa algoritmus Sha256. Namiesto toho môžete zadať iný algoritmus pomocou parametra -Algorithm.

Podporované sú: SHA1, SHA256, SHA384, SHA512, MACTripleDES, MD5, RIPEMD160

Upozorňujeme, že MD5 a SHA1 sa už nepovažujú za bezpečné, ale stále sú podporované.

Na vygenerovanie hash Sha512 by ste teda použili príkaz get-filehash - Algorithm Sha512 c: \ test.txt.

Namiesto predvolenej možnosti cesty môžete použiť aj -LiteralPath alebo -InputStream.

  • LiteralPath: get-filehash -LiteralPath -Algorithm SHA512 c: \ test.txt.
  • InputStream get-filehash -InputStream -Algorithm SHA512 Stream.

Hlavný rozdiel medzi cestou a literálnou cestou je v tom, že literálna cesta nepodporuje žiadne zástupné znaky a používa sa presne tak, ako je napísaná.

certutil

CertUtil je ďalší natívny program Windows, ktorý môžete použiť na výpočet hashe súborov. Program môžete spustiť z príkazového riadka alebo pomocou programu PowerShell.

Základným príkazom je certutil -hashfile PATH, napr. Certutil -hashfile c: \ example.txt .

Môžete tiež zadať algoritmus hash. Podporované sú MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512. Predvolený algoritmus je MD5.

Ak chcete použiť iný algoritmus hash, zadajte ho po príkaze, napr. Certutil -hashfile c: \ example.txt SHA512 .

Záverečné slová

Príkazy v skriptoch môžete použiť na výpočet hashov pre niekoľko súborov v jednej operácii. Dva natívne nástroje get-filehash a certutil sú veľmi užitočné pre rýchly výpočet hashov vo Windows a tiež pre použitie skriptov. (cez Genbeta (španielsky))