2013-03-27 1 views
0

Я хотел бы предложить верификатор md5 в своем приложении для Android, в котором сравнивается сервер md5 и только что созданный на устройстве. Выход должен быть как правильный или неправильный, а не то, что пользователь должен сравнивать хеши. я уже узнал, что это возможно, чтобы получить хэш на андроид черезпроверить md5sum на android

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

. Я могу напечатать вывод команды на экран, но это не то, что я хочу. Потому что я не хочу изобретать велосипед, что-то подобное уже доступно? SHA1 также будет возможен, оба хэша доступны.

Пожалуйста, помогите!

+0

Что ваш вопрос? Вы хотите, чтобы мы сделали вашу работу за вас? – Shade

ответ

1

Я использовал этот метод, чтобы вычислить md5 внутри Применение Android

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.