2015-07-05 51 views
2

使用HTML5 File API和任何JavaScript加密庫,如何生成文件的MD5哈希?使用HTML5/JavaScript生成圖像的MD5哈希

讀取文件:

var reader = new FileReader(); 

reader.onload = function(e) { 
    var contents = e.target.result; 
    // What goes here? 
}; 

reader.readAsBinaryString(data.files[0]); 

回答

3

這正好有:

var reader = new FileReader(); 

reader.onload = function(e) { 
    var contents = e.target.result; 
    // This goes here: 
    var hash = CryptoJS.MD5(CryptoJS.enc.Latin1.parse(contents)); 
}; 

確保您包括CryptoJS庫:

<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/md5.js"></script> 
+0

感謝。這給了我一個散列,但它不是正確的散列(與Ruby,bash和在線JS散列器相比)。 – Undistraction

+0

你使用'reader.readAsBinaryString'加載文件嗎? –

+0

是的,我正在使用'reader.readAsBinaryString(data.files [0]);'(添加到我的問題)。我也嘗試使用'reader.onloadend'作爲回調。 – Undistraction