在Javascript中散列图像

前端之家收集整理的这篇文章主要介绍了在Javascript中散列图像前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我目前一直在尝试使用javascript从我的浏览器中散列图像.但是,我一直在哈希一行dataURL或我从HTML中的canvas元素检索的像素数据.这显然与散列图像的原始数据不同,这是我想要做的.

例如,将用于PHP哈希文件函数中的相同图像的数据.

有没有人知道我如何使用javascript访问这个原始图像数据来获得一个哈希值,该值等于我从PHP hash_file($file)得到的结果哈希值?

谢谢!

最佳答案
您可以使用XHR请求获取图像的原始数据到该图像文件位置.

var xhr = new XMLHttpRequest();
xhr.open('GET','/my/image/file.png',true);
xhr.responseType = 'arraybuffer'; // this will accept the response as an ArrayBuffer
xhr.onload = function(buffer) {
    var words = new Uint32Array(buffer),hex = '';
    for (var i = 0; i < words.length; i++) {
      hex += words.get(i).toString(16);  // this will convert it to a 4byte hex string
    }
    console.log(hex);
};
xhr.send();

之后,您可以使用您想要的任何散列算法.这是他们的图书馆:https://code.google.com/p/crypto-js/

猜你在找的HTML相关文章