/** * Hash - SHA256 哈希计算工具 * 使用 hash-wasm 库实现,支持浏览器环境 * 用于秒传检测 */ /** * 计算文件前 1MB 的 SHA256 哈希(beginningHash) * 用于秒传检测的第一阶段 * * @param file 浏览器 File 对象 * @param fileSize 文件大小(字节) * @param onProgress 可选的进度回调 * @returns SHA256 哈希值(十六进制字符串) */ export declare function calculateBeginningHash(file: File, fileSize: number, onProgress?: (progress: number) => void): Promise; /** * 计算文件的完整 SHA256 哈希(fullHash) * 使用链式哈希算法:从文件头开始,每 1MB 计算一次 SHA256, * 将哈希结果作为下一个块的链式输入,直到文件末尾 * * 算法与 Node SDK calculateFullHash 保持一致: * 每 1MB 块:update(chunk) → digest() → 新 hasher → update(上一个hash) * 前 1MB 的 digest 结果即为 beginningHash * * @param file 浏览器 File 对象 * @param fileSize 文件大小(字节) * @param onProgress 可选的进度回调 * @returns SHA256 链式哈希值(十六进制字符串) */ export declare function calculateFullHash(file: File, fileSize: number, onProgress?: (progress: number) => void): Promise; /** * 计算 ArrayBuffer 的 SHA256 哈希 * @param buffer ArrayBuffer 数据 * @returns SHA256 哈希值 */ export declare function sha256(buffer: ArrayBuffer): Promise;