6

現在、javascript を使用してブラウザから画像をハッシュしようとしています。ただし、HTML の canvas 要素から取得した dataURL またはピクセル データの文字列をハッシュしています。これは明らかに、私がやりたい画像の生データをハッシュすることと同じではありません。

たとえば、php ハッシュ ファイル関数で同じ画像に使用されるデータです。

JavaScriptを使用してこの生の画像データにアクセスして、PHP hash_file($file)から取得した結果のハッシュと同等のハッシュ値を取得する方法を知っている人はいますか?

ありがとう!

4

1 に答える 1

5

その画像ファイルの場所への 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/

于 2013-03-04T18:45:40.097 に答える