Get-FileHash (Microsoft.PowerShell.Utility) - PowerShell (2024)

  • Reference
Module:
Microsoft.PowerShell.Utility

Computes the hash value for a file by using a specified hash algorithm.

Syntax

Get-FileHash [-Path] <String[]> [[-Algorithm] <String>] [<CommonParameters>]
Get-FileHash [-LiteralPath] <String[]> [[-Algorithm] <String>] [<CommonParameters>]
Get-FileHash [-InputStream] <Stream> [[-Algorithm] <String>] [<CommonParameters>]

Description

The Get-FileHash cmdlet computes the hash value for a file by using a specified hash algorithm.A hash value is a unique value that corresponds to the content of the file. Rather than identifyingthe contents of a file by its file name, extension, or other designation, a hash assigns a uniquevalue to the contents of a file. File names and extensions can be changed without altering thecontent of the file, and without changing the hash value. Similarly, the file's content can bechanged without changing the name or extension. However, changing even a single character in thecontents of a file changes the hash value of the file.

The purpose of hash values is to provide a cryptographically-secure way to verify that the contentsof a file have not been changed. While some hash algorithms, including MD5 and SHA1, are no longerconsidered secure against attack, the goal of a secure hash algorithm is to render it impossible tochange the contents of a file -- either by accident, or by malicious or unauthorized attempt -- andmaintain the same hash value. You can also use hash values to determine if two different files haveexactly the same content. If the hash values of two files are identical, the contents of the filesare also identical.

By default, the Get-FileHash cmdlet uses the SHA256 algorithm, although any hash algorithm thatis supported by the target operating system can be used.

Examples

Example 1: Compute the hash value for a file

This example uses the Get-FileHash cmdlet to compute the hash value for the/etc/apt/sources.list file. The hash algorithm used is the default, SHA256. The output ispiped to the Format-List cmdlet to format the output as a list.

Get-FileHash /etc/apt/sources.list | Format-ListAlgorithm : SHA256Hash : 3CBCFDDEC145E3382D592266BE193E5BE53443138EE6AB6CA09FF20DF609E268Path : /etc/apt/sources.list

Example 2: Compute the hash value for an ISO file

This example uses the Get-FileHash cmdlet and the SHA384 algorithm to compute the hash valuefor an ISO file that an administrator has downloaded from the internet. The output is piped to theFormat-List cmdlet to format the output as a list.

Get-FileHash C:\Users\user1\Downloads\Contoso8_1_ENT.iso -Algorithm SHA384 | Format-ListAlgorithm : SHA384Hash : 20AB1C2EE19FC96A7C66E33917D191A24E3CE9DAC99DB7C786ACCE31E559144FEAFC695C58E508E2EBBC9D3C96F21FA3Path : C:\Users\user1\Downloads\Contoso8_1_ENT.iso

Example 3: Compute the hash value of a stream

For this example, we get are using System.Net.WebClient to download a package from thePowershell release page. The releasepage also documents the SHA256 hash of each package file. We can compare the published hash valuewith the one we calculate with Get-FileHash.

$wc = [System.Net.WebClient]::new()$pkgurl = 'https://github.com/PowerShell/PowerShell/releases/download/v6.2.4/powershell_6.2.4-1.debian.9_amd64.deb'$publishedHash = '8E28E54D601F0751922DE24632C1E716B4684876255CF82304A9B19E89A9CCAC'$FileHash = Get-FileHash -InputStream ($wc.OpenRead($pkgurl))$FileHash.Hash -eq $publishedHashTrue

Example 4: Compute the hash of a string

PowerShell does not provide a cmdlet to compute the hash of a string. However, you can write astring to a stream and use the InputStream parameter of Get-FileHash to get the hash value.

$stringAsStream = [System.IO.MemoryStream]::new()$writer = [System.IO.StreamWriter]::new($stringAsStream)$writer.write("Hello world")$writer.Flush()$stringAsStream.Position = 0Get-FileHash -InputStream $stringAsStream | Select-Object HashHash----64EC88CA00B268E5BA1A35678A1B5316D212F4F366B2477232534A8AECA37F3C

Parameters

-Algorithm

Specifies the cryptographic hash function to use for computing the hash value of the contents of thespecified file or stream. A cryptographic hash function has the property that it is infeasible tofind two different files with the same hash value. Hash functions are commonly used with digitalsignatures and for data integrity. The acceptable values for this parameter are:

  • SHA1
  • SHA256
  • SHA384
  • SHA512
  • MD5

If no value is specified, or if the parameter is omitted, the default value is SHA256.

For security reasons, MD5 and SHA1, which are no longer considered secure, should only be used forsimple change validation, and should not be used to generate hash values for files that requireprotection from attack or tampering.

Type:String
Accepted values:SHA1, SHA256, SHA384, SHA512, MD5
Position:1
Default value:SHA256
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputStream

Specifies the input stream.

Type:Stream
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

Specifies the path to a file. Unlike the Path parameter, the value of the LiteralPathparameter is used exactly as it is typed. No characters are interpreted as wildcard characters. Ifthe path includes escape characters, enclose the path in single quotation marks. Single quotationmarks instruct PowerShell not to interpret characters as escape sequences.

Type:String[]
Aliases:PSPath, LP
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Specifies the path to one or more files as an array. Wildcard characters are permitted.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

Inputs

String

You can pipe a string containing a path to a file to this cmdlet.

Outputs

Microsoft.PowerShell.Utility.FileHash

This cmdlet returns an object representing the path to the specified file, the value of thecomputed hash, and the algorithm used to compute the hash.

  • Format-List
Get-FileHash (Microsoft.PowerShell.Utility) - PowerShell (2024)
Top Articles
Buddha
Gautam Buddha Quotes: Best, Famous, Success Quotes by gautam buddha
Will Byers X Male Reader
Global Foods Trading GmbH, Biebesheim a. Rhein
Somboun Asian Market
Dte Outage Map Woodhaven
Toyota Campers For Sale Craigslist
Rabbits Foot Osrs
What to Serve with Lasagna (80+ side dishes and wine pairings)
Retro Ride Teardrop
Vocabulario A Level 2 Pp 36 40 Answers Key
Carter Joseph Hopf
Smokeland West Warwick
Amateur Lesbian Spanking
Who called you from 6466062860 (+16466062860) ?
Scenes from Paradise: Where to Visit Filming Locations Around the World - Paradise
Scotchlas Funeral Home Obituaries
Exterior insulation details for a laminated timber gothic arch cabin - GreenBuildingAdvisor
X-Chromosom: Aufbau und Funktion
Uta Kinesiology Advising
Hobby Stores Near Me Now
C&T Wok Menu - Morrisville, NC Restaurant
Dewalt vs Milwaukee: Comparing Top Power Tool Brands - EXTOL
T Mobile Rival Crossword Clue
Bidevv Evansville In Online Liquid
Il Speedtest Rcn Net
Bra Size Calculator & Conversion Chart: Measure Bust & Convert Sizes
Gunsmoke Tv Series Wiki
The Clapping Song Lyrics by Belle Stars
R/Mp5
Fairwinds Shred Fest 2023
1987 Monte Carlo Ss For Sale Craigslist
LEGO Star Wars: Rebuild the Galaxy Review - Latest Animated Special Brings Loads of Fun With An Emotional Twist
Truis Bank Near Me
Skroch Funeral Home
1400 Kg To Lb
Police Academy Butler Tech
Chs.mywork
Tds Wifi Outage
Scottsboro Daily Sentinel Obituaries
Elizaveta Viktorovna Bout
Puretalkusa.com/Amac
Appraisalport Com Dashboard Orders
60 X 60 Christmas Tablecloths
Homeloanserv Account Login
Lucifer Morningstar Wiki
R/Gnv
Theater X Orange Heights Florida
Is Chanel West Coast Pregnant Due Date
What Is The Gcf Of 44J5K4 And 121J2K6
Tamilyogi Cc
When Is The First Cold Front In Florida 2022
Latest Posts
Article information

Author: Manual Maggio

Last Updated:

Views: 5978

Rating: 4.9 / 5 (49 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Manual Maggio

Birthday: 1998-01-20

Address: 359 Kelvin Stream, Lake Eldonview, MT 33517-1242

Phone: +577037762465

Job: Product Hospitality Supervisor

Hobby: Gardening, Web surfing, Video gaming, Amateur radio, Flag Football, Reading, Table tennis

Introduction: My name is Manual Maggio, I am a thankful, tender, adventurous, delightful, fantastic, proud, graceful person who loves writing and wants to share my knowledge and understanding with you.