Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android獲取apk簽名指紋的md5值(防止重新被打包)的實現方法

Android獲取apk簽名指紋的md5值(防止重新被打包)的實現方法

編輯:關於Android編程

本文實例講述了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程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved