同时将不同的哈希算法应用于同一文件

时间:2012-11-04 16:13:48

标签: linux hash parallel-processing md5 sha

是否可以将不同的哈希算法(MD4MD5SHA1SHA256SHA512等)应用于同一文件同时在Linux下?

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

我怀疑我需要类似tee的内容,但我无法找到解决此问题的简单方法。

编辑:

感谢tink's answer,这正是我所寻找的:

#> 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

1 个答案:

答案 0 :(得分:3)

这样的事情应该有效:

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

插入额外的T恤> (方法> methodfile 2& 1)之前阻止其他人 sha256在最后。