与 as3corelib 不同的 MD5

发布于 2024-09-26 16:38:27 字数 674 浏览 4 评论 0原文

我正在尝试使用 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));
}

我已经用谷歌搜索了这个问题,找到了这个 post 讨论了类似的事情(对字符串进行哈希处理)。

有什么想法吗?

I'm trying to md5 some file with as3corelib, but if I compare the as3 hash with a php one, I get different strings.

That's what I do:

_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));
}

I've already googled for this issue, finding this post where a similar thing is discussed (making an hash of a string).

Any idea?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

递刀给你 2024-10-03 16:38:27

尝试在 load() 调用之前将加载器 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

Try to set the loader dataFormat property to URLLoaderDataFormat.BINARY prior to the load() call:

_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));
}

Then use directly the _loader.data variable since now it's a ByteArray

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文