File文件读取MD5

108 阅读1分钟

文件读取MD5的意义在于验证文件的完整性和确保数据的准确传输。以下是一些具体用途:

  1. 数据完整性验证

    • 通过计算文件的MD5哈希值,可以在传输后对比接收端和发送端的MD5值,确保文件在传输过程中未被篡改或损坏。
  2. 文件校验

    • 在下载文件时,提供MD5校验值可以帮助用户验证下载文件是否与原始文件一致,防止文件被恶意篡改。
  3. 重复文件检测

    • 通过比较不同文件的MD5值,可以快速识别出相同内容的文件,节省存储空间。
  4. 数据一致性检测

    • 在数据库或文件系统中,通过MD5值来检测数据的一致性和完整性,防止数据在存储或传输过程中出现错误。
  5. 安全性检查

    • MD5值可以用于检查文件是否被恶意软件感染或修改,提供一个简单的安全性检查方法。
import SparkMD5 from 'spark-md5'
export const md5ByFile = (file) => new Promise((resolve, reject) => {
    const fileR = new FileReader() // 创建一个reader用来读取文件流
    fileR.readAsArrayBuffer(file) // 把文件读成ArrayBuffer  主要为了保持跟后端的流一致
    fileR.onload = async e => {
        const spark = new SparkMD5.ArrayBuffer()
        spark.append(e.target.result)
        resolve({ ...e.target, md5: spark.end() })
    }
})