vue3利用spark-md5计算文件的md5值

这篇具有很好参考价值的文章主要介绍了vue3利用spark-md5计算文件的md5值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

先要安装spark-md5包:
import SparkMD5 from ‘spark-md5’


一、spark-md5是什么?

看官网:https://github.com/search?q=spark-md5

二、如何计算

1.小文件

对于小文件来说通常直接读取其文本文件(字符串),计算其md5。

      var sparkMD5 = new SparkMD5()
      var reader = new FileReader()
      reader.readAsText(file)
      reader.onload = (event) => {
        //获取文件MD5
        str.value = event.target.result
        sparkMD5.append(str.value)
        md5.value = sparkMD5.end()
       }

2.大文件

对于大文件,如果直接readAsText读取,速度则会非常慢,甚至浏览器崩溃,遂利用readAsArrayBuffer(file)读取其二进制来计算md5。

      var sparkMD52 = new SparkMD5.ArrayBuffer()
      var reader2 = new FileReader()
      reader2.readAsArrayBuffer(file)
      reader2.onload = (event) => {
        //获取文件MD5
        str.value = event.target.result
        sparkMD52.append(str.value)
        md5.value = sparkMD52.end() 
      }

如若需要分片,则对大文件先进行切片,再计算首尾两片首字母加密的md5:

      //切片
      //获取切片数量chunknum.value,文件总大小file.size,切片大小chunkSize.value
      chunknum.value = Math.ceil(file.size / chunkSize.value)
      var sparkMD5 = new SparkMD5.ArrayBuffer()
      //利用文件首尾分片的md5拼接作为整个文件md5
      for (let i = 0; i < chunknum.value; i++) {
        var reader = new FileReader()
        let park = file.slice(i * chunkSize.value, (i + 1) * chunkSize.value)
        chunkArry.value.push(park)
        if (i == 0) {
          reader.readAsArrayBuffer(park)
          reader.onload = (event) => {
            str.value = event.target.result.slice(0, 1) + str.value
          }
        }
        if (i == chunknum.value - 1) {
          reader.readAsArrayBuffer(park)
          reader.onload = (event) => {
            //获取第一片和最后一片切片的首字母加密MD5
            str.value = event.target.result.slice(0, 1) + str.value
            sparkMD51.append(str)
            md5.value = sparkMD51.end()
          }
        }
      }

总结

注意:reader.onload是一个异步函数,其计算的结果在函数外“暂时”是拿不到的,一般在文件上传完过后是能拿得到的。
综上所述,不管什么文件都可以用readAsArrayBuffer来读取其二进制,速度较快。文章来源地址https://www.toymoban.com/news/detail-574840.html

到了这里,关于vue3利用spark-md5计算文件的md5值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3中使用md5

    推荐网站: MD5在线加密 - MD5加密工具 - MD5在线生成 MD5在线加密 https://md5jiami.bmcx.com/    推荐: vue3的md5如何使用以及导入_范闲~的博客-CSDN博客_vue3 md5 vue3的md5如何使用以及导入 https://blog.csdn.net/m0_60708088/article/details/125763415 默认32位小写 。 注意:md5()函数中的参数必须为字符串

    2024年02月11日
    浏览(30)
  • Vue3 使用MD5加密(清晰明了)

    最近在想做个cloud项目,gitee上找了个模板项目,前端使用到vue3 + typeScript、Element Plus、Vue Router、Pinia、Axios、i18n、Vite等技术,最近使用到 vue3 MD5加密 ,顺便学习一下,在此总结一下,若有不足之处,望大佬们可以指出。 注意: ts-md5 不是 js-md5 定义: 局部使用: 定义: 意思

    2023年04月08日
    浏览(32)
  • Vue 大文件切片上传实现指南包会,含【并发上传切片,断点续传,服务器合并切片,计算文件MD5,上传进度显示,秒传】等功能

            在Web开发中,文件上传是一个常见的功能需求,尤其是当涉及到大文件上传时,为了提高上传的稳定性和效率,文件切片上传技术便显得尤为重要。通过将大文件切分成多个小块(切片)进行上传,不仅可以有效减少单次上传的数据量,降低网络波动对上传过程的

    2024年04月28日
    浏览(35)
  • window,macOS,Linux计算文件MD5值,java实现例子

    打开命令行工具。在Windows系统中,可以使用\\\"cmd\\\"命令打开命令行窗口;在macOS或Linux系统中,可以使用\\\"Terminal\\\"打开终端。 进入文件所在的目录。使用\\\"cd\\\"命令进入文件所在的目录。 计算文件的MD5哈希值。在命令行中输入\\\"certutil -hashfile 文件名 MD5\\\"命令(Windows系统),或者输入

    2024年02月06日
    浏览(27)
  • vue(前端):大文件分片上传(包括如何获取文件MD5、逻辑注释讲解)

    3.1 原生input标签实现上传 3.2 获取文件的MD5 3.3 上传文件 3.4 上传文件到后台

    2024年02月21日
    浏览(32)
  • MD5算法:利用python进行md5 hash值的获取

    MD5,即信息摘要算法,英文为MD5 Message-Digest Algorithm,是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),也叫散列值,用于确保信息传输完整一致。 它可以从一个字符串或一个文件中按照一定的规则生成一个特殊的字符串,这个特殊的

    2024年02月07日
    浏览(30)
  • uniapp使用md5加密 js使用md5加密

    文章的初衷 最近项目中使用了md5加密,为了方便还不明白怎么使用的朋友参考查阅,当然也为了方便博主再次使用所写 md5加密说明 可在不同平台使用 因为使用方法是js方法去调用的所以不局限于某个平台 我这里使用的方式是登录的时候进行加密,具体其他的使用方式,朋友们自

    2024年02月07日
    浏览(55)
  • PHP md5()函数详解,PHP计算MD5,md5()绕过,md5()漏洞原理剖析

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 md5() 可以计算字符串的 「MD5散列值」 。 语法 参数 $str :需要计算的字符串

    2024年02月06日
    浏览(33)
  • vue3+js-md5密码加密使用

    在实际开发中,后台管理系统往往登录密码加密后才能传给后端,这里可以有效的保护用户信息与安全,下面使用js-md5对用户密码进行加密

    2024年01月18日
    浏览(32)
  • 前端(js)md5加密

    1、引入md5源文件,代码如下,直接复制。 2、在页面引入md5文件。 3、使用md5加密。

    2024年02月11日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包