【问题标题】:verify md5sum on android在 android 上验证 md5sum
【发布时间】:2013-03-27 15:10:41
【问题描述】:

我想在我的 android 应用程序中提供一个 md5 验证器,它比较服务器 md5 和刚刚在设备上创建的一个。 输出应该是正确或不正确的,而不是用户必须比较哈希值。 我已经发现可以通过

获取android上的哈希值
/system/xbin/busybox md5sum /sdcard/Download/FILENAME

。当然,我可以将命令的输出打印到屏幕上,但这不是我想要的。 因为我不想重新发明轮子,这样的东西已经可用了吗? SHA1 也是可能的,两种哈希都可用。

请帮忙!

【问题讨论】:

  • 您的问题是什么?您希望我们为您完成工作吗?

标签: android busybox md5sum


【解决方案1】:

我已经用这个方法来计算 Android 应用程序内部的 md5

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;
}

【讨论】:

    【解决方案2】:

    “服务器 md5”我猜你是指服务器上另一个包含 md5 哈希的文件。

    所以你可以下载 md5 文件,打开它并将里面的字符串与你计算的 md5 进行比较。

    【讨论】:

      猜你喜欢
      • 2015-09-13
      • 1970-01-01
      • 2013-05-22
      • 2012-05-03
      • 2019-08-07
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多