2013-03-27 1 views
0

기기에서 서버 md5와 방금 생성 한 것을 비교하는 안드로이드 앱에 md5 검증기를 제공하고 싶습니다. 출력이 정확하거나 올바르지 않아야하며 사용자가 해시를 비교해야하는 것은 아닙니다. 나는 이미android에서 md5sum을 확인하십시오.

/system/xbin/busybox md5sum /sdcard/Download/FILENAME 

를 통해 안드로이드에 대한 해시를 얻을 수 있다는 발견. 왜냐하면 나는 명령의 결과물을 화면에 인쇄 할 수는 있지만, 내가 원한 것은 아니다. 휠을 재발 명하고 싶지 않으므로 이미 사용 가능한 것과 비슷한 것입니까? SHA1도 가능하며 두 해시 모두 사용할 수 있습니다.

도와주세요!

+0

질문은 무엇입니까 내부의 MD5를 계산하기 위해이 방법을 사용했다? 우리가 당신을 위해 일하기를 원합니까? – Shade

답변

1

나는 안드로이드 응용 프로그램

private String getMD5(String file){ 
    String md5 = ""; 

    try { 
     MessageDigest md = MessageDigest.getInstance("MD5"); 
     FileInputStream is = this.openFileInput(file); 

     DigestInputStream dis = new DigestInputStream(is, md); 
     byte data[] = new byte[1024]; 
     @SuppressWarnings("unused") 
     int count; 
     while ((count = dis.read(data)) != -1) { 

     } 
     byte[] digest = md.digest(); 

     for (int i=0; i < digest.length; i++) { 
      md5 += Integer.toString((digest[i] & 0xff) + 0x100, 16).substring(1); 
     } 
     return md5; 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch (NoSuchAlgorithmException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return md5; 
} 
1

"서버 md5"를 사용하면 서버에서 md5 해시가 포함 된 다른 파일을 의미하는 것 같습니다.

그래서 md5 파일을 다운로드하여 열어서 계산 된 md5와 내부 문자열을 비교할 수 있습니다.