首先需要引入js文件(二选一):

  1. https://raw.github.com/satazor/SparkMD5/master/spark-md5.js
  2.  
  3. https://github.com/satazor/SparkMD5/blob/master/spark-md5.js

示例代码(需要更换spark-md5.js的路径):

  1. <html>
  2. <head>
  3. <script type="text/javascript" src="spark-md5.js" ></script>
  4. </head>
  5.  
  6. <body>
  7. <input type="file" id="file" />
  8. <div id="box"></div>
  9. <button id="cal" type="button" onclick="calculate()">计算md5</button>
  10. </body>
  11.  
  12. <script>
  13.  
  14. function calculate(){
  15. var fileReader = new FileReader(),
  16. box=document.getElementById('box');
  17. blobSlice = File.prototype.mozSlice || File.prototype.webkitSlice || File.prototype.slice,
  18. file = document.getElementById("file").files[0],
  19. chunkSize = 2097152,
  20. // read in chunks of 2MB
  21. chunks = Math.ceil(file.size / chunkSize),
  22. currentChunk = 0,
  23. spark = new SparkMD5();
  24.  
  25. fileReader.onload = function(e) {
  26. console.log("read chunk nr", currentChunk + 1, "of", chunks);
  27. spark.appendBinary(e.target.result); // append binary string
  28. currentChunk++;
  29.  
  30. if (currentChunk < chunks) {
  31. loadNext();
  32. }
  33. else {
  34. console.log("finished loading");
  35. box.innerText='MD5 hash:'+spark.end();
  36. console.info("computed hash", spark.end()); // compute hash
  37. }
  38. };
  39.  
  40. function loadNext() {
  41. var start = currentChunk * chunkSize,
  42. end = start + chunkSize >= file.size ? file.size : start + chunkSize;
  43.  
  44. fileReader.readAsBinaryString(blobSlice.call(file, start, end));
  45. };
  46.  
  47. loadNext();
  48. }
  49.  
  50. </script>
  51. </html>

JS计算文件的md5的更多相关文章

  1. asp.net和js读取文件的MD5值的方法

    前言 文件的md5值,即文件签名,为了验证文件的正确性,是否被恶意篡改等.每个文件有一个唯一的md5值. 最近公司开发的app文件包的校验就有用到文件md5值. 一.asp.net获取 ①和上传文件一 ...

  2. C#计算文件的MD5值实例

    C#计算文件的MD5值实例 MD5 是 Message Digest Algorithm 5(信息摘要算法)的缩写,MD5 一种散列(Hash)技术,广泛用于加密.解密.数据签名和数据完整性校验等方面 ...

  3. c#计算文件的MD5值

    代码: /// <summary> /// 计算文件的 MD5 值 /// </summary> /// <param name="fileName" ...

  4. 计算文件的MD5值和sha256值

    1.计算文件的MD5值. 1)linux系统计算 MD5值:md5sum+文件名 sha256值:sha256su+文件名 2)windows系统计算 MD5值:利用Notepad++工具计算 sha ...

  5. 在.NET中计算文件的MD5值

    更新记录 本文迁移自Panda666原博客,原发布时间:2021年7月2日. 直接上代码吧: using System; using System.IO; using System.Security. ...

  6. python计算文件的md5值

    前言 最近要开发一个基于python的合并文件夹/目录的程序,本来的想法是基于修改时间的比较,即判断文件有没有改变,比较两个文件的修改时间即可.这个想法在windows的pc端下测试没有问题. 但是当 ...

  7. 不安装任何软件或脚本使用powershell快速计算文件的MD5/SHA1/SHA256等校验值

    有的时候在检查升级过程中需要对xml文件进行签名,而xml文件中一般都需要包含安装包的SHA256值,这里分享一个使用PowerShell快速计算SHA256等其他值的方法. 一.在需要计算文件SHA ...

  8. 计算文件的MD5值(Java & Rust)

    Java public class TestFileMD5 { public final static String[] hexDigits = { "0", "1&qu ...

  9. C# 计算文件的MD5

    MD5的作用详见:https://baike.baidu.com/item/MD5/212708?fr=aladdin public static string GetFileMD5(string f ...

随机推荐

  1. FTP开启被动连接模式

    在Linux环境下搭建ftp服务器,具体步骤见:http://www.cnblogs.com/zjiacun/p/6896803.html 配置被动连接的方法: 找到配置文件/etc/vsftpd/v ...

  2. 记一次bash脚本报错原因

    准备部署上次写的 爬虫的定时任务,发现sh脚本 写为最简单的cd ,也报错 后来网上一波了解,原因竟是 : 额,格式问题,我为了图方便是在window里用notepad++写的,然后我再linux 系 ...

  3. Android底部菜单栏+顶部菜单

    底部菜单栏+顶部菜单(wechat)demo http://blog.csdn.net/evankaka/article/details/44121457 底部菜单demo http://blog.c ...

  4. Linux ~ termios 串口编程

    ermios 结构是在POSIX规范中定义的标准接口,它类似于系统V中的termio接口,通过设置termios类型的数据结构中的值和使用一小 组函数调用,你就可以对终端接口进行控制. 可以被调整来影 ...

  5. 每天一个Linux命令(16)which命令

    which命令用于查找并显示给定命令的绝对路径. 环境变量PATH中保存了查找命令时需要遍历的目录.which指令会在环境变量$PATH设置的目录里查找符合条件的文件.也就是说,使用which命令,就 ...

  6. Redis的管理

    一.redis持久化 redis是内存数据库,一切的数据都是存储到内存中的,我们知道,当服务器意外关机,那么在内存中的数据都将丢失,但是redis为我们提供持久化功能,这样就能把数据保存到硬盘上.re ...

  7. 手机端适配rem代码片段

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Kafka- Spark消费Kafka

    在高版本的API中 val brokers = properties.getProperty("kafka.host.list") val topics = Set(propert ...

  9. Linux - xshell上传文件报错乱码

    xshell上传文件报错乱码,解决方法 rz -be 回车 下载sz  filename

  10. jQuery学习(3)

    可以在select中设置size属性的属性值,从而让下拉列表中的选项都显示出来. <!DOCTYPE html> <html> <head> <title&g ...