Rápido hash não-criptográfico de baixa colisão em JavaScript para arquivos

Estou procurando um hash rápido com colisões baixas implementadas em JavaScript. Não precisa ser um hash criptográfico. Eu estou basicamente usando isso como uma maneira de ver se um determinado arquivo já foi carregado (ou parcialmente carregado) para a conta de um usuário para poupar algum tempo de upload em arquivos grandes (vídeo).

Estou usando a nova API de arquivos HTML5 para ler em fatias do arquivo. Eu então entrego isso paraSparkMD5 para me dar um hash do arquivo. Eu gosto do fato de que o SparkMD5 me permite fazer um hash incremental para que eu não tenha que ler a coisa toda na memória.

No geral, o SparkMD5 funciona para as minhas necessidades, mas para arquivos grandes, pode demorar um pouco para obter meu hash (cerca de 30 segundos para um arquivo de 300MB). Eu idealmente gostaria de reduzir isso. Eu não sou tão experiente em funções hash, então eu não estou olhando para portar algo e estou idealmente procurando por uma biblioteca já implementada.

questionAnswers(1)

yourAnswerToTheQuestion