You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何保存原文件夹哈希至文件并后续验证备份介质的完整性

嗨,这事儿我熟,给你一套高效又靠谱的实操方案,分Windows和类Unix(Linux/macOS)两种环境来拆解,都是原生工具就能搞定的,不用额外装花里胡哨的软件:

一、删除原文件夹前:生成并保存哈希校验文件

核心原则是:哈希文件绝对不能放在待删除的原文件夹里,不然删完原文件就没发验证了,最好直接存到备份介质的根目录,或者单独存个安全的地方(比如云盘再备一份)。

Windows系统(PowerShell/CMD二选一)

  • 优先用PowerShell(系统自带,无需额外下载):
    假设原文件夹路径是D:\MyImportantFiles,想生成安全性更高的SHA256哈希,运行这条命令:

    Get-FileHash -Path "D:\MyImportantFiles\*" -Algorithm SHA256 | Out-File "D:\MyImportantFiles_Hashes.txt" -Encoding UTF8
    

    它会自动遍历文件夹里所有文件(包括子文件夹里的),把每个文件的路径、哈希值都写到MyImportantFiles_Hashes.txt里。

  • 习惯用CMD的话,可以用微软官方的fciv工具(需要先下载):

    fciv -add "D:\MyImportantFiles" -sha256 -out "D:\MyImportantFiles_Hashes.txt"
    

类Unix系统(Linux/macOS通用)

系统自带sha256sum(Linux)或shasum(macOS),直接用就行:

cd /path/to/MyImportantFiles
find . -type f -exec sha256sum {} \; > ../MyImportantFiles_Hashes.txt

这条命令会遍历当前文件夹下所有文件,把哈希和路径输出到上级目录的哈希文件里(避免把哈希文件本身包含到待校验列表里)。macOS用户把sha256sum换成shasum -a 256就行。

二、日后验证备份完整性的步骤

把之前存好的哈希文件复制到备份文件夹的同级目录,然后对应系统执行命令:

Windows系统

  • PowerShell生成的哈希文件,运行:

    Get-FileHash -Path "E:\Backup\MyImportantFiles\*" -Algorithm SHA256 | Compare-Object -ReferenceObject (Get-Content "E:\Backup\MyImportantFiles_Hashes.txt")
    

    如果输出为空,说明所有文件哈希完全匹配,备份没问题;要是有差异,会直接列出不匹配的文件。

  • fciv生成的哈希文件,运行:

    fciv -v -sha256 -file "E:\Backup\MyImportantFiles_Hashes.txt"
    

    工具会自动比对所有文件,直接输出验证结果。

类Unix系统

cd /path/to/Backup/MyImportantFiles
sha256sum -c ../MyImportantFiles_Hashes.txt

每个文件会显示OK(匹配)或者FAILED(不匹配),一目了然。macOS用户替换成shasum -a 256 -c ../MyImportantFiles_Hashes.txt即可。

三、额外小贴士
  • 优先选SHA256或SHA512算法,比MD5更安全,几乎不会出现哈希碰撞的情况。
  • 生成哈希时尽量避开系统高负载时段(比如正在大量下载/解压文件),虽然概率极低,但能避免意外计算错误。
  • 如果备份介质是光盘这类只读介质,记得把哈希文件一起刻进去,不然后续找不到就麻烦了。

内容的提问来源于stack exchange,提问作者user10191234

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 12:17:41