title: Fast low-collision non-crypto hash in JavaScript for Files
body: <p>I am looking for a fast hash with low collisions implemented in JavaScript. It doesn't need to be a crypto hash. I am basically using it as a way to see if a given file has already been uploaded (or partially uploaded) to a user's account to save them some upload time on large (video) files.</p>
  
  <p>I am using the new HTML5 File API to read in slices of the file. I then hand this off to <a href="https://github.com/satazor/SparkMD5" rel="noreferrer">SparkMD5</a> to give me a hash of the file. I like the fact that SparkMD5 allows me to do an incremental hash so I don't have to read the entire thing in memory.</p>
  
  <p>Overall, SparkMD5 works for my needs but for large files it can take a while to get me my hash (about 30 seconds for a 300MB file). I would ideally like to reduce this. I am not that knowledgeable on hash functions so I am not looking to port something and am ideally looking for an already implemented library.</p>