如何在浏览器中使用 javascript 计算大文件的 sha1 哈希值而不造成内存过载

How to calculate the sha1 hash of large files with javascript in the browser without creating memory overload

我正在尝试寻找一种方法来计算 javascript 中大文件的哈希值,而无需将整个文件加载到 FileReader 中。有没有办法通过在 javascript 中流式传输文件来计算文件的 sha1?

我正在查看 sha.js,但我不确定如何在 JavaScript 客户端完成。

我相信这里已经回答了这个问题:Read file stream using javascript in web browser

文件 API 有一个 slice 方法,可让您分段读取文件。

https://developer.mozilla.org/en-US/docs/Web/API/Blob/slice

有关如何完成此操作的更多信息:

https://www.html5rocks.com/en/tutorials/file/dndfiles/

Google 在此处实施 SHA1:

https://github.com/google/closure-library/blob/master/closure/goog/crypt/sha1.js