Windows 中的
sha256sum -c
相当于什么?
我有一组非常重要的文件,需要在许多不同地理位置的许多不同类型的磁盘上复制和镜像。通过 USB、以太网、光纤、无线电、电报和信号传输(其中一些传输方式比其他传输方式更可靠!)将内容中继到磁盘后,我想检查写入磁盘的数据的完整性。
在 Debian Linux 中,文件校验和通常存储在使用
SHA256SUM
命令生成的 sha256sum
“摘要”文件中。使用此命令生成此文件非常简单,其中包含当前目录和子目录中所有文件的递归 SHA256 校验和。对于用户来说,使用此命令递归地验证所有文件的完整性也非常简单。例如,考虑这个超临界的猫图片数据集
user@disp3274:~/Pictures$ tree
.
├── cats
│ ├── cat1.jpeg
│ ├── cat2.jpeg
│ └── cat3.jpeg
└── people
├── person1.jpeg
└── person2.jpeg
2 directories, 5 files
user@disp3274:~/Pictures$
我可以生成校验和文件如下
user@disp3274:~/Pictures$ time sha256sum `find . -type f` > SHA256SUMS
real 0m0.010s
user 0m0.008s
sys 0m0.002s
user@disp3274:~/Pictures$
user@disp3274:~/Pictures$ cat SHA256SUMS
b2d82e7b8dcbaef4d06466bee3486c12467ce5882e2eabe735319a90606f206a ./people/person2.jpeg
e01f7b240f300ce629c07502639a670d9665e82df6cba9311b87ba3ad23c595d ./people/person1.jpeg
53e056cc91fd4157880fb746255a2f621ebee8ca6351a659130d6228142c1e47 ./cats/cat1.jpeg
a0a73a21b9d26f1bbe4fcfce0acd21964dedf2dc247a5fe99bd9f304aa137379 ./cats/cat2.jpeg
a171fa88d431a531960b6eb312d964ed66cc35afd64bde5dda9b929ad83343f6 ./cats/cat3.jpeg
user@disp3274:~/Pictures$
我可以按如下方式验证所有文件的完整性
user@disp3274:~/Pictures$ time sha256sum -c SHA256SUMS
./people/person2.jpeg: OK
./people/person1.jpeg: OK
./cats/cat1.jpeg: OK
./cats/cat2.jpeg: OK
./cats/cat3.jpeg: OK
real 0m0.009s
user 0m0.008s
sys 0m0.000s
user@disp3274:~/Pictures$
在 Windows 中,用于生成
SHA256SUMS
(或使用另一个加密哈希函数的类似摘要文件)并递归验证一组文件的完整性的等效内置工具是什么?
没有 SHA256SUMS 工具的直接等效工具,但 PowerShell 可以使用 Get-FileHash cmdlet 轻松生成一个或多个文件的 (SHA256) 哈希值。
如果您想对文件夹中的文件调用 Get-FileHash,您可以将其与 Get-ChildItem 结合使用。例如
Get-ChildItem | Get-FileHash
或递归:Get-ChildItem -Recurse | Get-FileHash