当前位置: 首页 > web >正文

file文件生成hash值

文件生成二进制hash是为了确保唯一性,及时文件再上传,hash也不会变
第一种方案:
使用sha1-file-web(更轻量)

npm install sha1-file-web // 命令安装
// 接入
import sha1 from 'sha1-file-web'
sha1(file).then(fileSha => {console.log('这个就是hash这种加载更快',fileSha)
})

第二种方案:
使用crypto-js(更全面、更安全)

npm install crypto-js // 命令安装
// 接入
import CryptoJS from 'crypto-js'
export function calculateMd5(file) {return new Promise((resolve, reject) => {const reader = new FileReader()reader.onload = (event) => {try {// 将文件内容转换为WordArray格式const wordArray = CryptoJS.lib.WordArray.create(event.target.result)// 计算MD5并转为16进制字符串const md5Hash = CryptoJS.MD5(wordArray).toString(CryptoJS.enc.Hex)resolve(md5Hash)} catch (err) {reject(err)}}reader.onerror = () => reject('文件读取失败')reader.readAsArrayBuffer(file) // 以二进制流读取文件})
}
calculateMd5(file).then(hash=>{console.log('我也是hash我加载可能有点慢', hash)
})

具体两种方案的区别,我问了AI:
感兴趣的可以点击看下

http://www.xdnf.cn/news/14057.html

相关文章:

  • LeetCode 704.二分查找
  • gbase8s之MyBatis批量update问题
  • 中科院1区|IF10+:加大医学系团队利用GPT-4+电子病历分析,革新肝硬化并发症队列识别
  • 轻量级密码算法LED的C语言实现(无第三方库)
  • Ubuntu 24.04.2 LTS Python 人工智能Ai视觉模型
  • 使用php对navicat查看数据库密码?
  • 漏洞(网络空间安全真相)
  • 开源模型应用落地-工具使用篇-从零开始搭建Qdrant Web UI-可视化管理工具-Windows(十)
  • Linux 中 “/dev/null” 有什么作用 ?
  • OpenWrt:让OpenWrt支持USB声卡
  • 从喵喵喵到泄露Prompt:提示词注入攻击全解析
  • 【面板数据】中国与世界各国新能源汽车进出口数据-分类别与不分类别(2017-2024年)
  • UE5.5构建iOS失败但没有显式错误信息的问题
  • sharepoint 共享excel,如何实现某个 sheet 别人只读,但是另一个 sheet 可以编辑
  • 临时文件夹大量0字节xml问题排查
  • 在pyCharm中创建新的conda环境
  • 北斗导航 | 基于MATLAB的卫星导航单点定位算法(卡尔曼滤波增强)
  • 人工智能时代汽车营销如何创新突破?云徙科技汽车营销智能体助力车企立足数智化转型
  • Day53 Python打卡训练营
  • Github指南-Add .gitignore和Choose a license
  • 【C#】针对System.Drawing.Bitmap的压缩
  • python从环境变量和配置文件中获取配置参数
  • C#连接SQLServer数据库异常分析处理
  • 磁盘配额管理
  • django restframework 在serializer里 通过context设置session
  • HashMap vs LinkedHashMap
  • SpringMVC 常用注解及页面跳转方式(面试)
  • vue前端项目打包和部署
  • Vue3 + TypeScript 操作第三方库(Element Plus 的 ElTable)的内部属性
  • SQL Server 修改数据库名及物理数据文件名