为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用javascript计算文件的md5哈希值

如何使用javascript计算文件的md5哈希值

拉丁的传说 2019-08-06 17:06:47
如何使用javascript计算文件的md5哈希值有没有办法在使用Javascript上传到服务器之前计算文件的MD5哈希值?
查看完整描述

3 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

虽然有MD5算法的JS实现,但旧版浏览器通常无法从本地文件系统读取文件

我在2009年写过。那么新的浏览器呢?

使用支持FileAPI的浏览器,您*可以*读取文件的内容 - 用户必须选择它,使用<input>元素或拖放。截至2013年1月,以下是主要浏览器的堆叠方式:


查看完整回答
反对 回复 2019-08-06
?
守候你守候我

TA贡献1802条经验 获得超10个赞

使用CryptoJSMD5函数HTML5 FileReader API计算MD5哈希非常容易。以下代码段显示了如何读取二进制数据并从已拖入浏览器的图像中计算MD5哈希值:

var holder = document.getElementById('holder');holder.ondragover = function() {
  return false;};holder.ondragend = function() {
  return false;};holder.ondrop = function(event) {
  event.preventDefault();

  var file = event.dataTransfer.files[0];
  var reader = new FileReader();

  reader.onload = function(event) {
    var binary = event.target.result;
    var md5 = CryptoJS.MD5(binary).toString();
    console.log(md5);
  };

  reader.readAsBinaryString(file);};

我建议添加一些CSS来查看拖放区域:

#holder {
  border: 10px dashed #ccc;
  width: 300px;
  height: 300px;}#holder.hover {
  border: 10px dashed #333;}

有关拖放功能的更多信息,请访问:File API和FileReader

我在Google Chrome版本32中测试了该示例。


查看完整回答
反对 回复 2019-08-06
  • 3 回答
  • 0 关注
  • 4066 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信