powershell - 从此 sha-1 文件中获取 sha-256
问题描述
嗨,只是想知道是否有人可以帮助我?我有一段代码可以锻炼文件夹的 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
如果有人有任何提示,我还需要获得其他 2 种编程语言的等价物。谢谢
解决方案
一些想法:
- 其中很多在 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 的人在那里提供帮助。
推荐阅读
- bash - 如何在 macOS Mojave 上安装 vigra?
- servlets - 在 ServletOutputStream 中刷新数据块后出错的最佳方法是什么
- c# - C# 反序列化格式奇怪的 JSON 数组
- javascript - 使用 JavaScript 在 10 秒内将进度条从 0 加载到 100%
- ios - ios中的ionic 3 geolocation位置错误
- vb.net - 使用 VB .NET 使用 Word 互操作库删除页面
- javascript - 在插件管理开发中使用 Wordpress Gutenberg 组件
- c# - 关于简化功能的建议
- api - 使用 Admin API 的 Shopify 订单状态
- javascript - 在 setState() 触发之前,放大器状态一直被忽略