当前位置: 移动技术网 > IT编程>移动开发>Android > Android获取apk签名指纹的md5值(防止重新被打包)的实现方法

Android获取apk签名指纹的md5值(防止重新被打包)的实现方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

我被小叔夜夜承欢膝下,徐水新闻,个人房屋出租协议

本文实例讲述了android获取apk签名指纹的md5值以防止重新被打包的实现方法。分享给大家供大家参考,具体如下:

做个记录(这里只是java层的签名校验,java层容易被破解,我建议apk加固下)

获取md5值来进行apk签名校验, 可以防止apk重新被打包。

下面我说说怎么获取apk签名的md5值(有三种方法)

1.用代码获取签名指纹的md5值

/**
 * md5加密
 * @param bytestr 需要加密的内容
 * @return 返回 bytestr的md5值
 */
public static string encryptionmd5(byte[] bytestr) {
  messagedigest messagedigest = null;
  stringbuffer md5strbuff = new stringbuffer();
  try {
    messagedigest = messagedigest.getinstance("md5");
    messagedigest.reset();
    messagedigest.update(bytestr);
    byte[] bytearray = messagedigest.digest();
    for (int i = 0; i < bytearray.length; i++) {
      if (integer.tohexstring(0xff & bytearray[i]).length() == 1) {
        md5strbuff.append("0").append(integer.tohexstring(0xff & bytearray[i]));
      } else {
        md5strbuff.append(integer.tohexstring(0xff & bytearray[i]));
      }
    }
  } catch (nosuchalgorithmexception e) {
    e.printstacktrace();
  }
  return md5strbuff.tostring();
}

/**
 * 获取app签名md5值
 */
public string getsignmd5str() {
  try {
    packageinfo packageinfo = mactivity.getpackagemanager().getpackageinfo(mactivity.getpackagename(), packagemanager.get_signatures);
    signature[] signs = packageinfo.signatures;
    signature sign = signs[0];
    string signstr = encryptionmd5(sign.tobytearray());
    return signstr;
  } catch (packagemanager.namenotfoundexception e) {
    e.printstacktrace();
  }
  return "";
}

2. keytool工具

使用keytool工具获取签名md5信息,下面 key是签名文件

复制代码 代码如下:
c:\program files\java\jdk1.8.0_05\bin>keytool -list -v -keystore c:\users\administrator\desktop\key

3. eclipse 里面可以查看签名信息 这里就不赘述

更多关于android相关内容感兴趣的读者可查看本站专题:《android控件用法总结》、《android视图view技巧总结》、《android文件操作技巧汇总》、《android操作sqlite数据库技巧总结》、《android操作json格式数据技巧总结》、《android数据库操作技巧总结》、《android编程之activity操作技巧总结》、《android编程开发之sd卡操作方法汇总》、《android开发入门与进阶教程》及《android资源操作技巧汇总

希望本文所述对大家android程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网