提问人:br441 提问时间:8/23/2023 更新时间:8/23/2023 访问量:30
当目录不为空时,Powershell 生成的目录哈希与 Linux 生成的哈希不匹配
Powershell-generated hash of directory doesn't match Linux-generated hash when directory is not-empty
问:
我正在编写一个 Powershell 脚本来比较本地 Windows 目录的 sha256 哈希值与远程 Linux 目录的 sha256 哈希值......
$localHash_temp = (Get-ChildItem <local dir> -Exclude <excluded dir> -Recurse -File | Get-FileHash -Algorithm SHA256).Hash | Out-String
$localHash = (Get-FileHash -Algorithm SHA256 -InputStream ([IO.MemoryStream]::new([char[]]$localHash_temp))).Hash
$remoteHash_temp = ssh -i <rsa_key> <user>@<server> -q 'dir=<remote dir>; find "$dir" -type f -path <exclude dir> -prune -exec sha256sum {} \; | sed "s~$dir~~g" | LC_ALL=C sort -d | iconv -f UTF-8 -t UTF-16LE | sha256sum'
$remoteHash = $remoteHash_temp.TrimEnd(" -").ToUpper()
Write-Output $localHash
Write-Output $remoteHash
有趣的是,当两个目录都是 emtpy(减去排除的目录)时,哈希值是相同的......
E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855
E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855
但是,当我获取文件并将其添加到两个目录中时,哈希值会变得不同......
F65A82E42CE7C0B80EB4689F0E41291372C68F1F50CB929ACAFE839EC8E8638F
E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855
我不确定问题出在哪里。任何帮助都不胜感激。
答: 暂无答案
评论