タグ: powershell

  • ファイルのハッシュ値

    ファイルが正しいものか確認するためにハッシュ値を使って確認することがある。

    $ sha256sum test.zip
    644ea473790342daed66e6d9f24f42bf2bc6ce8735903c9f667299b8baf42c20  test.zip
    
    $

    ハッシュ値はこんな感じで算出できる。この場合は SHA-256 ハッシュ値。md5 ハッシュ値を求めるなら md5sum を使う。このあたりのコマンドは coreutils パッケージに含まれている(Debian/Ubuntu)。

    そして、Windows の場合。PowerShell で Get-FileHash という関数を使って算出する。

    > Get-FileHash test.zip -Algorithm sha256
    
    Algorithm       Hash                                                                   Path
    ---------       ----                                                                   ----
    MD5             361A00D9E62B7A4DC01DDC2D0A236715                                       C:\Users\nakase\tmp\test.zip
    
    >

    ハッシュ値のみを表示したいなら、

    > (Get-FileHash test.zip -Algorithm sha256).Hash
    644EA473790342DAED66E6D9F24F42BF2BC6CE8735903C9F667299B8BAF42C20
    >

    sha256sum と同じように小文字で表示させたいなら、

    > (Get-FileHash test.zip -Algorithm sha256).Hash.toLower()
    644ea473790342daed66e6d9f24f42bf2bc6ce8735903c9f667299b8baf42c20
    >

    md5 ハッシュ値を算出したいなら、-Algorithm sha256-Algorithm md5 にする。