java獲取手機已安裝APK的簽名摘要
更新時間:2016年02月13日 17:01:23 投稿:lijiao
這篇文章主要介紹了java獲取手機已安裝APK的簽名摘要的相關(guān)資料,需要的朋友可以參考下
將APK發(fā)布到應(yīng)用商店或接入第三方的SDK時,有時需要提供APK的簽名摘要信息,可以通過摘要算法MD5或SHA-1來獲取簽名的摘要,除了獲取自己的APK簽名,也可以獲取手機上其他已安裝的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)化為對應(yīng)的十六進制字符串 */
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);
}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助。
相關(guān)文章
js判斷是否是移動設(shè)備登陸網(wǎng)頁的簡單方法
這篇文章主要介紹了js判斷是否是移動設(shè)備登陸網(wǎng)頁的簡單方法,需要的朋友可以參考下2014-02-02
Spring Boot插件spring tool suite安裝及使用詳解
這篇文章主要介紹了Spring Boot插件spring tool suite安裝及使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08
springboot增加注解緩存@Cacheable的實現(xiàn)
這篇文章主要介紹了springboot增加注解緩存@Cacheable的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
Spring?cloud?Hystrix注解初始化源碼過程解讀
這篇文章主要為大家介紹了Hystrix初始化部分,我們從源碼的角度分析一下@EnableCircuitBreaker以及@HystrixCommand注解的初始化過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-12-12

