如何生成与神器相同的校验和?

时间:2016-02-05 14:57:11

标签: powershell powershell-v2.0 sha1 checksum artifactory

每当我从构建脚本调用它时,art.exe(神器CLI界面)都会挂起,我将从powershell 2.0中的page on the topic重写bash脚本。我正在使用此代码生成校验和:

$sha1 = New-Object System.Security.Cryptography.SHA1CryptoServiceProvider
$path = Resolve-Path "CatVideos.zip"
$bytes = [System.IO.File]::ReadAllBytes($path.Path)
$sha1.ComputeHash($bytes) | foreach { $hash = $hash + $_.ToString("X2") }

$wc=new-object System.Net.WebClient
$wc.Credentials= new-object System.Net.NetworkCredential("svnintegration","orange#5")
$wc.Headers.Add("X-Checksum-Deploy", "true")
$wc.Headers.Add("X-Checksum-Sha1", $hash)

问题是它一直在我的本地生成一个不同的校验和而不是神器生成。这不是“传输过程中的损坏”错误,因为我在本地生成校验和,并且我已经多次手动部署。

如何以与artifactory(2.6.5)相同的方式生成校验和,以便在我发送我的校验和时匹配并且部署不会失败?在生成校验和时,我做了明显错误的事吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

你必须使用

$wc.Headers.Add("X-Checksum-Sha1", $hash.ToLower())