小编Arn*_*non的帖子

md5增量哈希一个大文件?

在浏览器中,我使用JS FileReader()。readAsBinaryString()读取了一个文件。使用CryptoJS库,我可以MD5哈希数据。

这工作正常,但我不知道如何处理大文件。例如,仅读取2GiB文件会使浏览器窗口崩溃。我可以随时从文件数据中切出斑点并进行哈希处理,但这是否会阻止其他人在不遵循与我相同的步骤的情况下验证相同的哈希值?

在这种情况下,是否有办法获取大文件的md5哈希?例如,您将如何计算1TB文件的md5哈希?是否需要以流形式读取文件?

第一次咬牙,我不确定该怎么做。

这驻留在角度指令中,因此位于范围内。

var reader = new FileReader();
                reader.onload = function (loadEvent) {
                    scope.$apply(function () {
                        scope.files = changeEvent.target.files;
                        scope.fileread = loadEvent.target.result;
                        scope.md5Data = CryptoJS.MD5(scope.fileread).toString();
                    });
                }
                // First ten megs of the file
                reader.readAsBinaryString((changeEvent.target.files[0]).slice(0, 10 * 1024 * 1024));
Run Code Online (Sandbox Code Playgroud)

javascript hash md5 cryptography

5
推荐指数
1
解决办法
3359
查看次数

标签 统计

cryptography ×1

hash ×1

javascript ×1

md5 ×1