如何通过JS在浏览器端hash出文件的MD5

JavaScript025

如何通过JS在浏览器端hash出文件的MD5,第1张

第一步生成md5 hash串:

var reader = new FileReader()

reader.onload = function(callback) {

var md5 = rstr2hex(binl2rstr(binl_md5(reader.result, reader.result.length)))

}

document.getElementById("xxx").value=md5

第二步:获取生成的md5值

var md5value = document.getElementById('xxx').value

hash模式是监听 hashchange 事件来实现的。

hash是监听 popstate 事件来实现的,但有点小问题需要处理一下。

history.replaceState 和 history.pushSstate 不触发 popstate 事件,这个问题可以自定义一个方法来实现。

hashCode = function(str){

var hash = 0

if (str.length == 0) return hash

for (i = 0i <str.lengthi++) {

char = str.charCodeAt(i)

hash = ((hash<<5)-hash)+char

hash = hash &hash// Convert to 32bit integer

}

return hash

}