首页 > 解决方案 > 加速sha 512散列的方法?

问题描述

通过使用 openssl 的 sha 512 算法,我目前能够在 3 - 3.3 秒之间计算 2GB 文件的哈希值(我的 CPU 是 i7-5820k) - 包括打开、写入和关闭所需的时间文件(打开输入并将哈希写入文本文件)。

我想知道是否有任何已知的方法可以加快这个过程,或者我的硬盘是否完全有问题,造成了瓶颈(Seagate BarraCuda Green 2TB 5900RPM SATA 6Gb/s 64MB Cache)。

            FILE *ftest=fopen(hashInBuf, "rb");
            FILE *ftest2=fopen(hashOutBuf, "wt");
            //HASH FUNCTION
            SHA512_Init (&mdContext);
            while ((bytes = fread (data, 1, 1024, ftest)) != 0)
            SHA512_Update (&mdContext, data, bytes);
            SHA512_Final (c,&mdContext);
            for(i = 0; i < SHA512_DIGEST_LENGTH; i++){
              fprintf(ftest2, "%02x", c[i]);
              printf("%02x", c[i]);

(我目前用来计算 sha 512 的代码)

标签: chashopensslsha

解决方案


推荐阅读