最快的Sha1功能(Linux,最多2GB文件)

Fel*_*fer 4 hash performance cryptography sha1 file

是否有任何linux命令行实现在大文件(<2GB)上生成sha1的效果非常好?

我玩过'openssl sha1'并且需要几分钟才能获得2GB文件的sha1:/.

bob*_*nce 7

在我的机器上,对于1GB的文件,有足够的内存使第一次运行后整个文件缓存在内存中:

sha1sum: 3.92s
openssl sha1: 3.48s
python hashlib.sha1: 3.22s
Run Code Online (Sandbox Code Playgroud)

获取2GB文件的sha1需要几分钟

那时候出现了问题,除非你使用的是非常慢的旧硬件.即使在第一次运行时,文件是直接从光盘读取的,在我的机器上每次演出只需要20s左右的'openssl sha1'.一般来说,您的I/O问题是否缓慢?


eri*_*son 5

我不认为 SHA 算法可以针对大小进行优化,因为它在固定大小的块上运行,并且计算不能并行完成。看来小文件上最快的实现也将是大文件上最快的实现。

  • 有趣的是,当前的一些 SHA-3 NIST 竞争算法支持使用多个处理器并行散列 (http://csrc.nist.gov/groups/ST/hash/sha-3/index.html)。值得注意的是,您可能受到磁盘 IO 的约束,而不是哈希速度。 (2认同)