嗨,只是想知道是否有人可以帮助我?我有一段代码来计算文件夹的 Sha-1,但需要将其转换以获得 sha-256。
function Get-FolderHash ($folder) {
dir $folder -Recurse | ?{!$_.psiscontainer} | %{[Byte[]]$contents += [System.IO.File]::ReadAllBytes($_.fullname)}
$hasher = [System.Security.Cryptography.SHA1]::Create()
[string]::Join("",$($hasher.ComputeHash($contents) | %{"{0:x2}" -f $_}))
}
Get-FolderHash out
如果有人有任何提示,我还需要获得其他两种编程语言的等效内容。谢谢你
一些想法:
Get-FileHash
)where
代替 ?
,使用 foreach
代替 %
。 PSScriptAnalyzer 更加严格,建议使用更详细的 Where-Object
形式,这也是一个选项。您可以指定 SHA-256 作为 Get-FileHash 的算法。
这是一个在 PowerShell 中涵盖上述要点的示例
function Get-FolderHash ($folder) {
Get-ChildItem $folder -Recurse | Where {!$_.PSIsContainer} | ForEach {
Get-FileHash -Algorithm SHA256 "$($_.FullName)" | Select Hash, Path
}
}
这将输出一个表格,显示计算出的哈希值和路径。
我将让其他更熟悉 Python 和 Java 的人来提供帮助。
此代码获取文件列表并显示 SHA256 中的哈希值 获取项目“[目录]”| FileHash - 算法 SHA256
如果你想制作过滤器 获取项目“c:emp*_20240901.txt”| FileHash - 算法 SHA256