2

是否可以在 Linux 下同时对同一个文件应用不同的哈希算法(MD4, MD5, SHA1, SHA256,等)?SHA512

这在处理大文件以避免多次从磁盘读取相同内容时特别有用,但在多核处理器上分配工作也应该非常有用。

我怀疑我需要类似的东西,tee但我无法找到解决这个问题的简单方法。

编辑:

感谢tink 的回答,这正是我想要的:

#> time ( cat disk.img | tee >( md5sum > md5 ) | tee >( sha1sum > sha1 ) | tee >( sha256sum > sha256 ) | tee >( sha512sum > sha512 ) > /dev/null )

real    1m2.801s
user    0m1.272s
sys     0m18.505s

这是缓慢的顺序方法:

#> time ( md5sum disk.img && sha1sum disk.img && sha256sum disk.img && sha512sum disk.img )
34f3b8bc1b27777a31b7d46363062ae3  disk.img
85bed81808d6fe4c0ade68595d0f16b008cca57b  disk.img
255308c8887759479fe63b8bc93981001e909f7198593a023ccb0d8986a3a6ea  disk.img
86a2af98bdb9dfefbe54ecd941de614b773218e50dc9eea4ea8d79b443f3c1af50657085dcdbfd161e3f1ec3e91b2f9f7d5859b55f3aee44a7d554f1854e7890  disk.img

real    3m29.099s
user    1m53.459s
sys     0m10.573s
4

1 回答 1

4

像这样的东西应该工作:

cat iso-image  | tee >( md5sum  > md5 2>&1 ) |( sha256sum > sha256 2>&1)

Insert extra tee > ( method > methodfile 2>&1 ) blocks for the others before the sha256 at the end.

于 2012-11-04T21:49:51.097 回答