I'm about to write a little webapp/tool/widget that needs to store some files on the server. In order to avoid unnecessary load on the server-side, I want to create file hashes (with SHA, MD5 or whatever...) on the client side. It is manageable with HTML5 FileAPI, but then Opera and IE9 users will get sacked. JAVA or Flash applets can be used instead HTML5 approach, in order to keep the application cross-browser compatible. But since I'm not familiar with JAVA/Flash (and I would use them only in life or death situations), I'd like to stick with JS if possible. But all client-side suggestions are welcome... JS, JAVA, Flash, whatever...
Traditional POST method (with PHP) will do the trick regardless of user agent. And AFAIK it's safer.
Long story short, my question is: why should I prefer client-side over server-side hashing?
Can you provide some pros and cons of both approaches?