sha256sum -c
在 Windows 中相当于什么?
我有一组非常重要的文件,需要将它们复制到多个地理位置不同的多种磁盘上并进行镜像。通过 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$
SHA256SUMS
在 Windows 中,用于生成(或使用另一个加密哈希函数的类似摘要文件)并以递归方式验证一组文件的完整性的等效内置工具是什么?
答案1
New-FileCatalog 和 Test-FileCatalog 可以做到这一点。
New-FileCatalog -Path "x:\DirectoryName" -CatalogFilePath "x:\SomeOtherDirectoryName\"
Test-FileCatalog -Path "x:\DirectoryName" -CatalogFilePath "x:\SomeOtherDirectoryName\catalog.cat"
答案2
我使用 fsum。 https://www.slavasoft.com/fsum/ 速度更快,但不同的代码页存在问题。
另一个是exf https://www.exactfile.com/exf/ 速度较慢但可以理解代码页。