top | item 3011346

Show HN: Calculate MD5, SHA-1 in your browser using HTML5 and WebWorkers

19 points| chadkeck | 14 years ago |browserhash.com

25 comments

order

tptacek|14 years ago

Why would I want this?

By this I mean, what's an end-to-end use case for it? In which a user wants a SHA hash of a file, uses this thing to get it, and then does something with the hash.

chadkeck|14 years ago

Hey Thomas, The itch I was scratching with this tool is that there isn't a built-in way in Windows to get a digest of a file, so... what better way than doing it in the browser?

Also, I'm the paranoid type and don't like the idea of uploading a file to someone else's server if I want the digest.

re|14 years ago

Browser-based upload, but with file-hash-based deduping to skip the upload if possible, à la Dropbox? (Not a use-case for this site, but one for in-browser file hashing)

HardyLeung|14 years ago

Try http://www.hashsum.com

It's a Silverlight application I wrote years ago (as a warmup) and it does MD5, SHA1, SHA256, etc. and it is much faster than any Javascript or Flash implementation I've ever seen, including this one.

Apology for the very poor Google adsense placement and UI. Yeah it is embarrassing. It was my first introduction to web programming, Google Adsense, and UI, and I've moved on from it long ago. Needless to say I have learned a lot since then.

Hashsum can handle much bigger files than 10MB. In fact, for a file that small, you won't even notice that it did anything. Try something bigger, like a DVD-sized ISO (4.7GB) which will take about 1 or 2 minutes. All computation is done on the client side.

Anyone who claims Javascript is "as fast as C/C++" should at least try to beat Hashsum, which is only C# based.

Sadly, Microsoft is putting an end to this amazing technology, but that's another story.

Zash|14 years ago

From the blog post:

  > * Internet connection required (for now).
There's this thing called caching. ;)

Also, cache manifest.

chadkeck|14 years ago

Yeah, the cache manifest will be the next feature for Browser Hash :)

ericb|14 years ago

What is the license? I haven't looked too closely yet, but I might want to borrow some of the JS for a firefox plugin where I'd want to calculate hashes.

chadkeck|14 years ago

The code is up on github. I will add the MIT license soon (do what you want with the code).

The hash functions came from Paj here: http://pajhome.org.uk/crypt/md5/

IIRC, Firefox's add-on API already has an MD5 calculation method.