从此 sha-1 文件获取 sha-256

问题描述 投票:0回答:2

嗨,只是想知道是否有人可以帮助我?我有一段代码来计算文件夹的 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

如果有人有任何提示,我还需要获得其他两种编程语言的等效内容。谢谢你

powershell
2个回答
1
投票

一些想法:

  • 其中很多功能都可以在 PowerShell 中本地使用(例如使用
    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 的人来提供帮助。


0
投票

此代码获取文件列表并显示 SHA256 中的哈希值 获取项目“[目录]”| FileHash - 算法 SHA256

如果你想制作过滤器 获取项目“c:emp*_20240901.txt”| FileHash - 算法 SHA256

© www.soinside.com 2019 - 2024. All rights reserved.