Types/OpenPackage.Part/GetHash.ps1

<#
.SYNOPSIS
    Gets the part hash
.DESCRIPTION
    Gets the part hash using any supported algorithm (default SHA256)
.NOTES
    Supports any algorithm from Get-FileHash
.LINK
    Get-FileHash
#>

param([string]$Algorithm = 'SHA256')

if (-not $this.GetStream) {
    return
}

$readStream = $this.GetStream('Open', 'Read')

$fileHash = Get-FileHash -InputStream $readStream -Algorithm $Algorithm 
$fileHash.Path =  $this.Uri
$fileHash

$readStream.Close()
$null = $readStream.DisposeAsync()