是否有使用 CRC-32 的 Windows 10 内置校验和实用程序?我检查了不同的答案,这些答案很旧并且提到了 certUtil,但不支持 CRC-32 或 CRC-64。
更新:我也检查过了Windows 7 上是否有内置校验和实用程序?但是,这是一个老问题,并没有明确要求 CRC-32,Windows 10 现在可能支持它。这就是为什么问这个问题。
答案1
答案2
7-Zip提供了一个额外的 Windows 资源管理器上下文菜单项,可以从中计算校验和:
- 右键单击要获取 CRC-32 的文件。将出现上下文菜单。
- 选择CRC SHA子菜单条目。
- 选择任何可用的算法:CRC-32,CRC-64,SHA-1或者SHA-256计算相应的校验和,或选择“*“计算所有这些,并另外布莱克2sp。
答案3
答案4
将 Cem Polat 的代码包装成一个函数。它运行良好且快速!谢谢 Cem!
Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
public class Win32Api {
[DllImport("ntdll.dll")]
public static extern uint RtlComputeCrc32(uint dwInitial, byte[] pData, int iLen);
}
"@
function Get-CRC32 {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true,ValueFromPipeline = $true)]
[string]$InputFile
)
Write-host $InputFile
# Read the file as bytes
$fileBytes = [System.IO.File]::ReadAllBytes($InputFile)
# Calculate the CRC32 checksum using the Win32 API
$crc32 = [Win32Api]::RtlComputeCrc32(0, $fileBytes, $fileBytes.Length)
# Convert the CRC32 value to hexadecimal string
$crc32String = $crc32.ToString("X8")
# Display the CRC32 checksum
Write-Output $crc32String
}