md5加密spark-md5

[复制链接]
发表于 2026-2-9 06:10:40 | 显示全部楼层 |阅读模式
盘算md5值,整个文件盘算大概分片盘算

在前端开发项目中,通常利用spark-md5库来天生md5值。有两种方法,一种是直接将整个文件传入,直接返回文件的md5。这种方法对于小文件会比力有上风,简朴而且速率超快。
另一种方法是利用js中File对象的 slice() 方法( File.prototype.slice )将文件分片后逐个传入 spark.appendBinary() 方法来盘算,末了通过 spark.end() 方法输出md5。分片盘算md5,对于大文件和超大文件会非常有利,不容易堕落,不占用大内存
留意:
1.1G左右的文件,分片Md5盘算的耗时大概是整个文件Md5盘算的一半,文件越大越显着
2. 大文件(大于4G)肯定要分片盘算Md5值,缘故原由:大文件一次性盘算Md5偶然会碰到卡死征象大概没有相应,缘故原由是FileReader是 JavaScript 中用于读取文件内容的 API,在利用FileReader读取大文件(大于4G)时,它将整个文件加载到内存中举行处理处罚,而大文件大概会超出欣赏器的内存限定,导致欣赏器瓦解或运行迟钝。因此,对于大文件(大于4G)必要分片盘算Md5值
3. 再进一步优化就是放在web worker中盘算,由于文件的MD5值盘算是纯运算,将壅闭JS主线程的运行,在文件较大时,盘算过程将使得欣赏器长时间处于无相应状态而web-worker与JS处于差异的线程,相互并不壅闭,因此可以将一些耗时的纯运算放在web-worker中举行,等候完成后关照到JS主线程
整个文件盘算md5(实用于小文件)


分片盘算md5(实用于大文件)



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表