Qiita 投稿したことなくて試してみたくなったので、数年前の自分のブログからの転載
Linux ならコマンド一発で求められるハッシュ値も、Windows でできないかなと思って試した時のメモです。
ハッシュ値の求め方
みんな大好きワンライナーです
当時手元に Windows Vista しかなかったので、PowerShell 2.0 で動くようにしています
# MD5
[System.Security.Cryptography.MD5]::Create().ComputeHash((New-Object IO.StreamReader "ファイルパス").BaseStream) | % { write-host $_.Tostring("x2") -noNewLine }
# SHA1
[System.Security.Cryptography.SHA1]::Create().ComputeHash((New-Object IO.StreamReader "ファイルパス").BaseStream) | % { write-host $_.Tostring("x2") -noNewLine }
これが PowerShell 4.0 からは Get-FileHash で一発とか熱いですね
PowerShell コマンドを右クリックメニューに入れる
Windows だと、コマンドラインでは使いにくいですよね
そこで右クリックメニューに入れます
- regedit を起動する
- [HKEY_CLASSES_ROOT]-[*]-[shell] を右クリックして [新規]-[キー]を選択
- キーに任意の名前をつける(右クリックした時のメニュー名になる)
- 3 で作ったキーを右クリックして [新規]-[キー]を選択、名前を commandにする
- 4 で作ったキー command をクリックして、右のウィンドウにある (規定)をダブルクリックする値のデータにコードを入れる
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoExit -command "[System.Security.Cryptography.MD5]::Create().ComputeHash((New-Object IO.StreamReader '%1').BaseStream) | %% { write-host $_.Tostring('x2') -noNewLine }; write-host ''"