我正在使用 HTML5 文件 API 构建文件上传器。我想确保根据它们包含的实际数据没有上传重复的文件。这意味着即使两个文件的名称不同或位于不同的文件夹中,它们也应被视为相同。
我考虑过使用 md5 计算哈希,但因为这一切都必须在客户端发生,使用 javascript,更大的文件将花费太长时间。当我说大时,我的意思是高达 5GB 的视频。
需要明确的是,这不必涉及校验和,我只想唯一标识文件。为此目的,散列可能有点矫枉过正,但这是首先想到的。
更新:我想我需要一个轻量级的指纹算法。我在 Wikipedia 上找到了Rabin作为示例,但我不知道如何在 javascript 中实现它。