我们目前正在筹划一个人们可以上传电影的网站.在观看YouTube时,您会注意到某些电影上传了两次或更多次(由不同的用户).为了扩展我们的应用程序,我们考虑以下想法:
>用户选择要上传的电影文件
>在上传之前,JavaScript将从文件中获取SHA256哈希值(它比MD5哈希值更准确)
>该网站将检查哈希是否已存在
>如果哈希不存在,则将上载该文件
>如果哈希确实存在,将提示消息,或者将创建对服务器上现有版本的引用.这没有上传视频.
问:我们如何使用JavaScript分析文件以获得SHA256哈希,SHA256是否足够好还是我们应该考虑SHA512(或其他算法)?
解决方法:
使用HTML5 File API读取文件:http://www.html5rocks.com/en/tutorials/file/dndfiles.这是一个用于计算SHA-256:http://www.webtoolkit.info/javascript-sha256.html的JS代码
我必须补充一点,我从未尝试过这个,但似乎有可能. Alxandr是对的,这对于大型视频来说需要很长时间,但您可以尝试使用WebWorker API以便不冻结浏览器:http://html5rocks.com/en/tutorials/workers/basics