powershell 计算md5
时间: 2025-08-30 13:50:39 AIGC 浏览: 7
在 PowerShell 中计算文件或字符串的 MD5 哈希值可以通过不同的方式实现,具体取决于输入是文件还是字符串。
### 计算文件的 MD5 哈希值
PowerShell 提供了内置的 `Get-FileHash` 命令来计算文件的哈希值,但默认情况下支持的算法包括 SHA1、SHA256 等,不包括 MD5。因此,可以通过 .NET 框架来实现 MD5 哈希计算。
以下是一个 PowerShell 脚本示例,用于计算指定文件的 MD5 哈希值:
```powershell
# 设置文件路径
$filePath = "C:\path\to\your\file.txt"
# 创建 MD5 哈希对象
$md5 = [System.Security.Cryptography.HashAlgorithm]::Create("MD5")
# 读取文件并计算哈希值
$fileBytes = [System.IO.File]::ReadAllBytes($filePath)
$hashBytes = $md5.ComputeHash($fileBytes)
# 将哈希值转换为十六进制字符串
$hashString = [System.BitConverter]::ToString($hashBytes).Replace("-", "").ToLower()
# 输出结果
Write-Output "MD5 Hash of $filePath is: $hashString"
```
### 计算字符串的 MD5 哈希值
如果需要计算字符串的 MD5 哈希值,可以通过将字符串转换为字节数组,然后使用相同的 MD5 哈希算法进行计算。
以下是 PowerShell 脚本示例,用于计算字符串的 MD5 哈希值:
```powershell
# 设置输入字符串
$inputString = "Hello, World!"
# 创建 MD5 哈希对象
$md5 = [System.Security.Cryptography.HashAlgorithm]::Create("MD5")
# 将字符串转换为字节数组
$stringBytes = [System.Text.Encoding]::UTF8.GetBytes($inputString)
# 计算哈希值
$hashBytes = $md5.ComputeHash($stringBytes)
# 将哈希值转换为十六进制字符串
$hashString = [System.BitConverter]::ToString($hashBytes).Replace("-", "").ToLower()
# 输出结果
Write-Output "MD5 Hash of '$inputString' is: $hashString"
```
以上脚本通过 .NET 框架中的 `System.Security.Cryptography.HashAlgorithm` 类来创建 MD5 哈希对象,并使用其 `ComputeHash` 方法来计算文件或字符串的哈希值。计算结果是一个字节数组,需要转换为十六进制字符串以便于阅读[^2]。
###
阅读全文
相关推荐



















