javascript – 如何在实际上传之前分析要上传的文件?

我们目前正在筹划一个人们可以上传电影的网站.在观看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

上一篇:在.NET下如何预防XXE注入攻击


下一篇:前端面试题必考(三)- HTTPS加密/常用JAVA加密算法基本知识