(本記事はPowerShell入門記事としてコチラにもまとめています。)
PowerShellでファイルのハッシュ値を求めてみます。このようなファイルがあるとき、
PS C:\Users\takk\aaa> ls -name -re -i *.txt 12\74\06\63\23\file_1.txt 14\53\23\53\43\file_2.txt 14\92\16\14\68\file_3.txt 20\20\97\04\40\file_5.txt 57\93\43\76\7\file_6.txt 86\03\02\65\2\file_4.txt PS C:\Users\takk\aaa>
Get-FileHashを使います。デフォルトではSHA256です。
各ファイルのSHA256の一覧を表示してみましょう。(lsはGet-ChildItemのエイリアス)
PS C:\Users\takk\aaa> ls -name -re -i *.txt | %{get-filehash $_} Algorithm Hash Path --------- ---- ---- SHA256 D0BD5F8C7875E14A074D98511EED9C3D3BF720F0BDFD008D16052563D4EA94B8 C:\Users\takk\aaa\12\74\06\63... SHA256 3345CCC61C3BBED900FE98F6431B0E1CDF0BE5EDF627733294FF988F8C43022E C:\Users\takk\aaa\14\53\23\53... SHA256 67C5758FEF35C0F828B76D20F10858DB3C42259C9641C4DB89FC5B455584E932 C:\Users\takk\aaa\14\92\16\14... SHA256 B1CC89066A64CEC02B2D0163C88B4613BB936F5B7DBEF54E1A596B56D3F43D30 C:\Users\takk\aaa\20\20\97\04... SHA256 2363F9D309044538D5F6958A2D4F05A14E19A02A05E92E16165F2FAF721D5B1F C:\Users\takk\aaa\57\93\43\76... SHA256 008E87DE25C15AB9A45324626E2258AF65A499D99C6569002760C6B5185C87A7 C:\Users\takk\aaa\86\03\02\65...
別のアルゴリズムを指定するには、-Algorithmオプションを使います。(-Aは略)ファイルのMD5を求めてみます。
PS C:\Users\takk\aaa> ls -name -re -i *.txt | %{get-filehash -A MD5 $_} Algorithm Hash Path --------- ---- ---- MD5 218F5179EBAB0BB65A054150FDF65580 C:\Users\takk\aaa\12\74\06\63... MD5 2D39D9EBC71AF0B26E22094BA9E115E0 C:\Users\takk\aaa\14\53\23\53... MD5 EEE6D8EFB87B0791D94D2DD59312A5D9 C:\Users\takk\aaa\14\92\16\14... MD5 616EBF0371CD7B162FD6BB7C941ED8A1 C:\Users\takk\aaa\20\20\97\04... MD5 7317684E8336F2B29F414B5E9AC4FE31 C:\Users\takk\aaa\57\93\43\76... MD5 CFFF13625862792EA22A94437D8C20A8 C:\Users\takk\aaa\86\03\02\65... PS C:\Users\takk\aaa>
他にもSHA1、SHA384、SHA512、MACTripleDES、RIPEMD160が指定できます。
PS C:\Users\takk\aaa> ls -name -re -i *.txt | %{get-filehash -A SHA1 $_} Algorithm Hash Path --------- ---- ---- SHA1 D50AE4AFDEF5D8DDADE7ECE88184D07FA1ED96F2 C:\Users\takk\aaa\12\74\06\63... SHA1 7A1E424D949FD1FCED8582F7141F5A4926D06E5B C:\Users\takk\aaa\14\53\23\53... SHA1 474C63E9FAB49BF8BCC9FCC947BC2B11B36EEBF6 C:\Users\takk\aaa\14\92\16\14... SHA1 FA8157FC68C63FB41B2465E011E01D9AD2AB5671 C:\Users\takk\aaa\20\20\97\04... SHA1 C2B24C5E23DC9B0C573F8E4E55780C8A9AE1B2E9 C:\Users\takk\aaa\57\93\43\76... SHA1 554B62A479ABE742C2E79CB3CCEC17F162BD6029 C:\Users\takk\aaa\86\03\02\65... PS C:\Users\takk\aaa> ls -name -re -i *.txt | %{get-filehash -A SHA384 $_} Algorithm Hash Path --------- ---- ---- SHA384 FDD204CCADA4615995B8C7CA39B10F5325D7FE18A4A85440373D7C2A83528C0C6A1... C:\Users\takk\aaa\12\74\06\63... SHA384 FB2CE751A95120AC311C2C962240E804787E75831C4F5E1A3468FAA11BF69399A4B... C:\Users\takk\aaa\14\53\23\53... SHA384 44875C31E0B8984CE357A0F8D8587DC3DFD5497FD96DF885A864AC645448D184473... C:\Users\takk\aaa\14\92\16\14... SHA384 C2853017C46398CD63643C07FFC100790940996B05ED3E27F0F55E0197174F64EFC... C:\Users\takk\aaa\20\20\97\04... SHA384 511B76D407CDC7D7291C332F0265CBE7528D4F0846072CE3D118A2B7302B0CFFFAE... C:\Users\takk\aaa\57\93\43\76... SHA384 3EC69551AB36BD2C669DEA202E357F51E44A013EA881FC3D3A5F561583F60D19571... C:\Users\takk\aaa\86\03\02\65... PS C:\Users\takk\aaa> ls -name -re -i *.txt | %{get-filehash -A SHA512 $_} Algorithm Hash Path --------- ---- ---- SHA512 A76783397DF47097AA4F26ED89F768476EA8BD40E8B1DFC01440BC5BC303738DAA3... C:\Users\takk\aaa\12\74\06\63... SHA512 CCD17D9A7D5B6B305C73D034CD12C973696F173DEEA4E4F3D39859F30EB27912903... C:\Users\takk\aaa\14\53\23\53... SHA512 A143A2FA355CE38E7D20C92A7E7B3F0121639539063E2328BF198F98534585F6E3D... C:\Users\takk\aaa\14\92\16\14... SHA512 B0D0A0AD01CBF2AB99F678A61059F3ABEEE120B2E6F6B47F617F202A2EC6E151171... C:\Users\takk\aaa\20\20\97\04... SHA512 FDAB0ED01617023A24B47958E143ECDE99845AEAEB92B463955CAEC896AA372BF77... C:\Users\takk\aaa\57\93\43\76... SHA512 181D119A7924009FC102096E83FFD81C17E1A51CC981ADB4C7CE0D11EA244F98942... C:\Users\takk\aaa\86\03\02\65... PS C:\Users\takk\aaa> ls -name -re -i *.txt | %{get-filehash -A MACTripleDES $_} Algorithm Hash Path --------- ---- ---- MACTRIPLEDES FF8B3F61EA3009E6 C:\Users\takk\aaa\12\74\06\63... MACTRIPLEDES 25242A5795E6C6CF C:\Users\takk\aaa\14\53\23\53... MACTRIPLEDES A7065FAED6BCB0AC C:\Users\takk\aaa\14\92\16\14... MACTRIPLEDES A64D73AF42505439 C:\Users\takk\aaa\20\20\97\04... MACTRIPLEDES E838F837F8CD47F0 C:\Users\takk\aaa\57\93\43\76... MACTRIPLEDES A7E63E09109AF589 C:\Users\takk\aaa\86\03\02\65... PS C:\Users\takk\aaa> ls -name -re -i *.txt | %{get-filehash -A RIPEMD160 $_} Algorithm Hash Path --------- ---- ---- RIPEMD160 ECD4C2025F40781E1692221EF17F8B2C9C8BB19E C:\Users\takk\aaa\12\74\06\63... RIPEMD160 36C0B12558F054486377E489ECC0373A8E239A8C C:\Users\takk\aaa\14\53\23\53... RIPEMD160 F5C610EF7F1F1D31849EE4F00CA19E8D8E53D46B C:\Users\takk\aaa\14\92\16\14... RIPEMD160 ECC87B539406FDE866CB47415B7096D85075C1D6 C:\Users\takk\aaa\20\20\97\04... RIPEMD160 C2A8BF874288DFD01275F70E5335B60EC5CB5FA6 C:\Users\takk\aaa\57\93\43\76... RIPEMD160 BD5D69D4BBF99F9A8B63B868A51C95BF76A01CE9 C:\Users\takk\aaa\86\03\02\65... PS C:\Users\takk\aaa>
コメント