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)文章
Go?Java算法之為運算表達式設(shè)計優(yōu)先級實例
這篇文章主要為大家介紹了Go?Java算法之為運算表達式設(shè)計優(yōu)先級實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08Java實現(xiàn)復雜的進制轉(zhuǎn)換器功能示例
這篇文章主要介紹了Java實現(xiàn)復雜的進制轉(zhuǎn)換器功能,結(jié)合實例形式分析了java數(shù)學運算的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-01-01@MapperScan掃描包里混有@Service等問題如何解決
這篇文章主要介紹了@MapperScan掃描包里混有@Service等問題如何解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03Spring boot中自定義Json參數(shù)解析器的方法
這篇文章主要介紹了Spring boot中自定義Json參數(shù)解析器的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01