RIPEMD-160: Difference between revisions

no edit summary
m (→‎{{header|FreeBASIC}}: swapped some empty lines for a better looking listing)
No edit summary
Line 741:
 
(bye)</lang>
 
=={{header|PowerShell}}==
Using .Net's <code>[System.Security.Cryptography.HashAlgorithm]</code>, hash either a string or a file using any of the cryptography hash algorithms.
<lang PowerShell>
function Get-Hash
{
[CmdletBinding(DefaultParameterSetName="String")]
[OutputType([string])]
Param
(
[Parameter(Mandatory=$true,
ParameterSetName="String",
Position=0)]
[string]
$String,
 
[Parameter(Mandatory=$true,
ParameterSetName="FileName",
Position=0)]
[string]
$FileName,
 
[Parameter(Mandatory=$false,
Position=1)]
[ValidateSet("MD5", "RIPEMD160", "SHA1", "SHA256", "SHA384", "SHA512")]
[string]
$HashType = "MD5"
)
 
$hashAlgorithm = [System.Security.Cryptography.HashAlgorithm]
$stringBuilder = New-Object -TypeName System.Text.StringBuilder
 
switch ($PSCmdlet.ParameterSetName)
{
"String"
{
$hashAlgorithm::Create($HashType).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($String)) | ForEach-Object {
$stringBuilder.Append($_.ToString("x2")) | Out-Null
}
}
"FileName"
{
$fileStream = New-Object -TypeName System.IO.FileStream -ArgumentList $FileName, ([System.IO.FileMode]::Open)
 
$hashAlgorithm::Create($HashType).ComputeHash($fileStream) | ForEach-Object {
$stringBuilder.Append($_.ToString("x2")) | Out-Null
}
 
$fileStream.Close()
$fileStream.Dispose()
}
}
 
$stringBuilder.ToString()
}
</lang>
 
<lang PowerShell>
Get-Hash "Rosetta Code" -HashType RIPEMD160
</lang>
{{Out}}
<pre>
b3be159860842cebaa7174c8fff0aa9e50a5199f
</pre>
 
=={{header|Python}}==
308

edits