java獲取手機(jī)已安裝APK的簽名摘要
將APK發(fā)布到應(yīng)用商店或接入第三方的SDK時(shí),有時(shí)需要提供APK的簽名摘要信息,可以通過摘要算法MD5或SHA-1來獲取簽名的摘要,除了獲取自己的APK簽名,也可以獲取手機(jī)上其他已安裝的APK簽名,只需要傳入其他APK的包名即可。
private static final char[] HEX_CHAR = {
'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
};
/** 獲取簽名的MD5摘要 */
public String[] signatureDigest() {
pkgInfo = mContext.getPackageManager().getPackageInfo(
mContext.getPackageName(), PackageManager.GET_SIGNATURES);
int length = pkgInfo.signatures.length;
String[] digests = new String[length];
for (int i = 0; i < length; ++i) {
Signature sign = mPkgInfo.signatures[i];
try {
MessageDigest md5 = MessageDigest.getInstance("MD5");
byte[] digest = md5.digest(sign.toByteArray()); // get digest with md5 algorithm
digests[i] = toHexString(digest);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
digests[i] = null;
}
}
return digests;
}
/** 將字節(jié)數(shù)組轉(zhuǎn)化為對(duì)應(yīng)的十六進(jìn)制字符串 */
private String toHexString(byte[] rawByteArray) {
char[] chars = new char[rawByteArray.length * 2];
for (int i = 0; i < rawByteArray.length; ++i) {
byte b = rawByteArray[i];
chars[i*2] = HEX_CHAR[(b >>> 4 & 0x0F)];
chars[i*2+1] = HEX_CHAR[(b & 0x0F)];
}
return new String(chars);
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章
Java業(yè)務(wù)校驗(yàn)工具實(shí)現(xiàn)方法
這篇文章主要介紹了Java業(yè)務(wù)校驗(yàn)工具實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
關(guān)于Java限流功能的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了關(guān)于Java限流功能的簡(jiǎn)單實(shí)現(xiàn),在Java中,限流是一種常見的技術(shù)手段,用于控制系統(tǒng)的訪問速率,以保護(hù)系統(tǒng)免受過載和濫用,需要的朋友可以參考下2023-07-07
js判斷是否是移動(dòng)設(shè)備登陸網(wǎng)頁的簡(jiǎn)單方法
這篇文章主要介紹了js判斷是否是移動(dòng)設(shè)備登陸網(wǎng)頁的簡(jiǎn)單方法,需要的朋友可以參考下2014-02-02
Spring Boot插件spring tool suite安裝及使用詳解
這篇文章主要介紹了Spring Boot插件spring tool suite安裝及使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
springboot增加注解緩存@Cacheable的實(shí)現(xiàn)
這篇文章主要介紹了springboot增加注解緩存@Cacheable的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
Spring?cloud?Hystrix注解初始化源碼過程解讀
這篇文章主要為大家介紹了Hystrix初始化部分,我們從源碼的角度分析一下@EnableCircuitBreaker以及@HystrixCommand注解的初始化過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-12-12
resultMap標(biāo)簽中里的collection標(biāo)簽詳解
這篇文章主要介紹了resultMap標(biāo)簽中里的collection標(biāo)簽,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02

