如何使用javascript计算文件的md5哈希

2022-08-30 05:20:11

有没有办法在使用Javascript上传到服务器之前计算文件的MD5哈希?


答案 1

虽然有MD5算法的JS实现但较旧的浏览器通常无法从本地文件系统读取文件

我在2009年写了这篇文章。那么新的浏览器呢?

使用支持FileAPI的浏览器,您可以读取文件的内容 - 用户必须使用元素或拖放来选择它。截至 2013 年 1 月,以下是主要浏览器的堆叠方式:<input>

如何?

请参阅Benny Neugebauer下面的答案,它使用CryptoJS的MD5函数


答案 2

我制作了一个实现增量 md5 的库,以便有效地散列大文件。基本上,您以块的形式读取文件(以保持低内存)并以增量方式对其进行哈希处理。您在自述文件中获得了基本用法和示例。

请注意,您需要HTML5 FileAPI,因此请务必检查它。测试文件夹中有一个完整的示例。

https://github.com/satazor/SparkMD5