程式獲取Android簽名

2021-09-11 09:15:26 字數 1592 閱讀 6161

關於android簽名的基本概念,我在之前的文章已經提過:

android如何簽名

但是這個簽名應該如何獲取呢?

這個簽名工具可以查詢三種簽名。

這個沒有什麼好說的,我就直接附**吧,需要注意的是,要想獲取應用簽名,需要應用的包名,通過包名可以得到packageinfo

/**

* 獲取簽名的md5摘要

*/public static

string getsignaturedigest(packageinfo pkginfo)

signature signature = pkginfo.signatures[0];

messagedigest md5 = null;

try catch (nosuchalgorithmexception e)

byte digest = md5.digest(signature.tobytearray()); // get digest with md5 algorithm

return tohexstring(digest);

}/**

* 將位元組陣列轉化為對應的十六進製制字串

*/private static

string tohexstring(byte rawbytearray)

return

newstring(chars);

}private static final char hex_char = ;複製**

這時候我們得到的字串就是md5簽名,各個平台需要填寫的簽名都是全小寫的,通過tolowercase再轉成小寫即可。

private static

string facebookhashkey(packageinfo info)

} catch (nosuchalgorithmexception e)

return

null;

}複製**

有人可能會問函式名為什麼叫facebookhashkey,其實當時在用的時候是需要為facebook的授權提供keyhash,後來發現許多國外平台都需要這個,而國內平台需要的簽名都是md5

public static

string getcertificatesha1fingerprint(packageinfo packageinfo) catch (certificateexception e)

x509certificate c = null;

try catch (certificateexception e)

string hexstring = null;

try catch (nosuchalgorithmexception e1) catch (certificateencodingexception e)

return hexstring;

}private static

string byte2hexformatted(byte arr)

return str.tostring();

}複製**

Android 獲取應用簽名

android studio中獲取應用簽名通過在as的terminal中,keystore路徑下執行 1 debug版本 android studio會預設生成乙個debug.keystore簽名檔案,它的預設位置在 home android debug.keystore 2 release版本 首...

Android應用程式簽名

android系統要求所有的程式經過數字簽名才能安裝,如果沒有可用的數字簽名,系統將不許安裝執行此程式,不管是模擬器還是真實手機。因此,在裝置或者是模擬器上執行除錯程式之前,必須為應用程式設定數字簽名。android 系統僅僅會在安裝的時候測試簽名證書的有效期,如果應用程式的簽名是在安裝之後才到期,...

Android 應用程式簽名

android應用程式簽名相關的理論知識包括 什麼是簽名 為什麼要給應用程式簽名 如何給應用程式簽名等。1 什麼是簽名?如果這個問題不是放在android開發中來問,如果是放在乙個普通的版塊,我想大家都知道簽名的含義。可往往就是將一些生活中常用的術語放在計算機這種專業領域,大家就開始迷惑了。計算機所...