2010-10-07 66 views
0

我試圖與as3corelib md5一些文件,但如果我比較as3散列與php的一個,我得到不同的字符串。與as3corelib不同的MD5

這就是我做的:

_loader = new URLLoader(); 
_loader.load(new URLRequest("image.jpg")); 
_loader.addEventListener(Event.COMPLETE, completeHandler); 

private function completeHandler(event:Event):void { 
     var data:ByteArray = new ByteArray(); 
     data.writeUTFBytes(_loader.data); 
     var hash:MD5Stream = new MD5Stream(); 
     trace(hash.complete(data)); 
} 

我已經用Google搜索這個問題,找到這個地方post類似的事情進行了討論(使一個字符串的哈希值)。

有什麼想法?

回答

3

嘗試加載設置DATAFORMAT屬性URLLoaderDataFormat.BINARY負載()調用之前:

_loader = new URLLoader(); 
_loader.dataFormat = URLLoaderDataFormat.BINARY; 
_loader.load(new URLRequest("image.jpg")); 
_loader.addEventListener(Event.COMPLETE, completeHandler); 

private function completeHandler(event:Event):void { 
     var hash:MD5Stream = new MD5Stream(); 
     trace(hash.complete(_loader.data)); 
} 

然後,因爲現在它的ByteArray

+0

直接_loader.data變量使用那就是訣竅。謝謝 :) – 2010-10-07 21:39:44