在adobe air中计算图像哈希(md5)

时间:2012-05-04 06:53:14

标签: image hash air adobe md5

  1. 我在adobe air平台上使用HTML + JAVASCRITP + CSS开发桌面软件
  2. 我下载md5.js,将md5值计为相同的php md5值
  3. air.filestream函数读取文件的位置并发送到md5.js来计算哈希值,普通文件(js,php,css,txt)可以算作同样的php md5值,但是计数图像文件得到wrroy哈希,图像不是改变。
  4. var fileStream = new air.FileStream(); 
    var target = new air.File(file.nativePath); 
    fileStream.open(target , air.FileMode.READ);
    var str = fileStream.readMultiByte(target.size,'utf-8'); alert(window.md5(str));
    

1 个答案:

答案 0 :(得分:1)

您应该使用读取二进制数据的this library。 然后,解压缩swc并将swf文件放到应用程序路径中的lib文件夹中。

您必须检查xml文件以获取要使用的md5函数的限定名称 (.by.blooddy.crypto.MD5.hashBytes(data))

在html标题

上添加脚本包含行
<script src="lib/library.swf" type="application/x-shockwave-flash"></script>

你可以使用window.runtime对象的函数:

hash = window.runtime.by.blooddy.crypto.MD5.hashBytes(data);

这个哈希与php中的md5相同。

顺便说一句,你必须使用readBytes而不是readMultiByte读取文件。

adobe link(Using ActionScript libraries within an HTML page