不同的MD5与as3corelib

时间:2010-10-07 16:21:55

标签: actionscript-3 md5

我正在尝试使用 as3corelib md5某个文件,但是如果我将as3哈希与php进行比较,我会得到不同的字符串。

这就是我的所作所为:

_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,其中讨论了类似的事情(制作一个字符串的哈希)。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

尝试在load()调用之前将loader 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));
}

然后直接使用_loader.data变量,因为它现在是一个ByteArray