我正在寻找一种计算crc校验和跨平台的方法。
cksum
适用于Linux,AIX,HP-UX Itanium,Solaris,Windows中是否还有linux cksum
的等效命令?
%cksum run.sh
1491301976 652 run.sh
注意:没有第三方工具
答案 0 :(得分:93)
在Windows(命令提示符)中,您可以使用CertUtil,这是语法:
CertUtil [Options] -hashfile InFile [HashAlgorithm]
表示cmd中的语法解释类型:
CertUtil -hashfile -?
示例:
CertUtil -hashfile C:\myFile.txt MD5
默认为它支持的SHA1:MD2,MD4,MD5,SHA1,SHA256,SHA384,SHA512。不幸的是,没有CRC32作为Unix shell。
如果您想了解更多https://technet.microsoft.com/en-us/library/cc732443.aspx#BKMK_menu
,请参阅以下链接答案 1 :(得分:9)
看起来MS的校验和有一个不受支持的工具。它的功能很少,但看起来像你要求的那样。它于2012年8月发布。它被称为“Microsoft File Checksum Integrity Verifier”。
http://www.microsoft.com/en-us/download/details.aspx?id=11533
答案 2 :(得分:1)
为了避免恼人的非校验和行:CertUtil -v -hashfile" your_file" SHA1 |查找/ V" CertUtil" 这将仅显示符合CertUtil
的 NOT 行答案 3 :(得分:0)
以下是用于windows https://cksum.codeplex.com/的* nix cksum命令行实用程序的C#实现
答案 4 :(得分:0)
结合@Cassian和@Hllitec的答案以及https://stackoverflow.com/a/42706309/1001717的解决方案,这里我将(仅!)校验和值放入变量中以进行进一步处理:
for /f "delims=" %i in ('certutil -v -hashfile myPackage.nupkg SHA256 ^| find /i /v "sha256" ^| find /i /v "certutil"') do set myVar=%i
要测试输出,可以在var中添加一个管道式echo命令:
for /f "delims=" %i in ('certutil -v -hashfile myPackage.nupkg SHA256 ^| find /i /v "sha256" ^| find /i /v "certutil"') do set myVar=%i | echo %myVar%
有点题外话,但仅供参考:我在将NuGet包上传到Artifactory之前就使用了它。顺便说一句。作为替代方案,您可以使用JFrog CLI,该系统会自动计算校验和。
答案 5 :(得分:0)
在2019年,Microsoft为Windows 10提供以下解决方案。此解决方案适用于SHA256校验和。
按Windows键。键入PowerShell。选择Windows Powershell。按Enter键。粘贴命令
Get-FileHash C:\ Users \ Donald \ Downloads \ sha256.exe待检查文件|格式列表
替换 sha256.exe检查的文件 要检查的文件名。
将路径替换为文件所在的路径。 按Enter键。 Powershell然后显示以下内容
算法:SHA256 哈希值:123456789ABCDEFGH1234567890 ... 路径:C:\ Users \ Donald \ Downloads \ sha256.exe待检查文件
答案 6 :(得分:0)
打开Windows PowerShell,并使用以下命令:
Get-FileHash C:\Users\Deepak\Downloads\ubuntu-20.10-desktop-amd64.iso