各位老哥,我在做一个js切片上传文件,前端这边传递一个文件的唯一标识,我用了md5后发现不同的视频打印出的加密值都相同?这就很尴尬了,谷歌许久未曾解惑!<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Document</title> <script src="http://cdn.bootcss.com/blueimp-md5/1.1.0/js/md5.min.js"></script> </head><body> <form action=""> <input type="file" id="test" multiple="multiple"/> </form> <script> window.onload=function(){ let upInput=document.getElementById('test'); upInput.addEventListener('change',function(){ var file = this.files[0]; var reader = new FileReader(); reader.readAsArrayBuffer(file); reader.addEventListener("load", function(e) { var res = e.target.result; console.log(res,'res') var md5Info=md5(res) console.log(md5Info,'md5Info') }); }) } </script></body></html>这是临时的demo,各位老哥可以运行看下。
1 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
function md5 (string, key, raw) {
...
}
res是一个ArrayBuffer,md5(res)意思是md5(res.toString())//md5('[object ArrayBuffer]'),所以都一样。
要么转成string,要么使用支持ArrayBuffer的md5模块。
添加回答
举报
0/150
提交
取消
