2011-10-17 2 views
0

PHP의 MD5 해시를 계산하고 동일한 파일에 대해 동일한 결과를 반환하는 Adobe AIR 자바 스크립트의 두 가지 함수가 필요합니다.Adobe AIR MD5를 PHP MD5와 일치하도록 만들기

나는 자바 스크립트를 PHPJS에서 MD5 기능을 사용하고 있습니다 :

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). 나는 다양한 조합을 시도했다.

어떤 도움이 필요합니까?

답변

1

PHP 버전이 잘못되었습니다. $file.size은 무의미한 결과를 생성합니다. 아마도 "Resource id #7size"과 같은 것일 수 있습니다.

원래 올바른 (그리고 훨씬 더 간단) 구현 될 수 있습니다 또한 md5_file 기능을 사용할 수 있습니다

function GetFileMD5($path) { 
    return md5(file_get_contents($path)); 
} 
0

.