获取文件的 Adobe Air MD5 以匹配 PHP MD5
我需要两个函数,一个在 PHP 中,另一个在 Adobe AIR javascript 中,可以计算文件的 MD5 哈希值并为同一文件返回相同的结果。
我使用 PHPJS 中的 MD5 函数来处理 javascript:
function GetFileMD5(path) {
var file = new air.File(path);
if(file.exists) {
var fileStream = new air.FileStream();
fileStream.open(file, air.FileMode.READ);
var content = fileStream.readUTFBytes(fileStream.bytesAvailable);
fileStream.close();
return md5(content);
}
}
和 PHP:
function GetFileMD5($path) {
if($file = fopen($path,'rb')) {
$content = fread($file, $file.size);
fclose($file);
return md5($content);
}
}
我不确定要使用哪个文件流函数(而不是 readUTFBytes 来匹配 fread)。我尝试过各种组合。
有什么帮助吗?
I need two functions, one in PHP and the other in Adobe AIR javascript that can calculate the MD5 hash of a file and return identical results for the same file.
I'm using the MD5 function from PHPJS for javascript:
function GetFileMD5(path) {
var file = new air.File(path);
if(file.exists) {
var fileStream = new air.FileStream();
fileStream.open(file, air.FileMode.READ);
var content = fileStream.readUTFBytes(fileStream.bytesAvailable);
fileStream.close();
return md5(content);
}
}
and in PHP:
function GetFileMD5($path) {
if($file = fopen($path,'rb')) {
$content = fread($file, $file.size);
fclose($file);
return md5($content);
}
}
I'm not sure which filestream function to use (instead of readUTFBytes to match fread). I've tried various combinations.
Any help?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
PHP版本肯定是错误的。
$file.size
正在生成无意义的结果,可能类似于“Resource id #7size”
。正确的(而且更简单的)实现可能是:
The PHP version is definitely wrong.
$file.size
is generating a nonsensical result, probably something like"Resource id #7size"
.A correct (and much simpler) implementation might be:
您还可以使用
md5_file
函数。You may also use
md5_file
function.