使用javascript计算大文件的MD5哈希

问题描述 投票:1回答:2

您如何使用CryptoJS上传500mb文件并获得MD5哈希?

这是我的代码:

$('#upload-file').change(function(){
    var reader = new FileReader();
    reader.addEventListener('load',function () {
        var hash = CryptoJS.MD5(CryptoJS.enc.Latin1.parse(this.result));
        window.md5 = hash.toString(CryptoJS.enc.Hex);
    });

    reader.readAsBinaryString(this.files[0]);
});

如果文件小于200mb,它将起作用。更大的东西,this.result是一个空的“”。

我尝试过:

filereader api on big files

javascript FileReader - parsing long file in chunks

几乎使它正常工作,但是控制台抱怨.join(“”)] >>

http://dojo4.com/blog/processing-huge-files-with-an-html5-file-input

如何使用CryptoJS上传500mb的文件并获得MD5哈希?这是我的代码:$('#upload-file')。change(function(){var reader = new FileReader(); reader.addEventListener('load',function(...

javascript md5 filereader cryptojs
2个回答
10
投票

CryptoJS具有progressive api for hash digests。其余部分取自alediaferia's answer形式,并稍作修改。


0
投票

您无需一次读取整个文件并将其全部输入CryptoJS例程。

© www.soinside.com 2019 - 2024. All rights reserved.