<thead id="kdfuf"><font id="kdfuf"></font></thead>
<samp id="kdfuf"></samp>
    <nav id="kdfuf"><strong id="kdfuf"></strong></nav>
      中文字幕无码一区二区三区在线,久久精品人人做人人爽,国产一级内射无挡观看,十八禁在线黄色网站,日韩欧美国产另类久久久精品 ,少妇人妻偷人精品一区二区,久久午夜视频,亚洲春色AⅤ无码专区

      Android 獲取應(yīng)用 MD5 SHA1 SHA256 簽名信息

      2020-2-8    seo達人

      閑著沒事兒寫了個小 demo ,獲取手機上已安裝應(yīng)用信息,系統(tǒng)應(yīng)用和 非系統(tǒng)應(yīng)用

      MD5 SHA1 SHA256 簽名信息 點擊簽名信息可復(fù)制到剪切板,

      GitHub:https://github.com/sunan-n/GetAppInfo

      如下圖:






      
      <span style="white-space:pre;"> </span>主要就是這個方法,傳參數(shù)進來獲取相應(yīng)的簽名類型 信息<br />
      &nbsp; &nbsp; public static String getSignaturesInfo(Context context, String packageName, String tpye) {<br />
      //&nbsp; &nbsp; &nbsp; &nbsp; //獲取包管理器<br />
      &nbsp; &nbsp; &nbsp; &nbsp; PackageManager pm = context.getPackageManager();<br />
      &nbsp; &nbsp; &nbsp; &nbsp; //返回包括在包中的簽名信息<br />
      &nbsp; &nbsp; &nbsp; &nbsp; int flags = PackageManager.GET_SIGNATURES;<br />
      &nbsp; &nbsp; &nbsp; &nbsp; PackageInfo packageInfo = null;<br />
      &nbsp; &nbsp; &nbsp; &nbsp; try {<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //獲得包的所有內(nèi)容信息類<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; packageInfo = pm.getPackageInfo(packageName, flags);<br />
      &nbsp; &nbsp; &nbsp; &nbsp; } catch (PackageManager.NameNotFoundException e) {<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace();<br />
      &nbsp; &nbsp; &nbsp; &nbsp; }<br />
      &nbsp; &nbsp; &nbsp; &nbsp; //簽名信息<br />
      &nbsp; &nbsp; &nbsp; &nbsp; Signature[] signatures = packageInfo.signatures;<br />
      &nbsp; &nbsp; &nbsp; &nbsp; byte[] cert = signatures[0].toByteArray();<br />
      &nbsp; &nbsp; &nbsp; &nbsp; //將簽名轉(zhuǎn)換為字節(jié)數(shù)組流<br />
      &nbsp; &nbsp; &nbsp; &nbsp; InputStream input = new ByteArrayInputStream(cert);<br />
      &nbsp; &nbsp; &nbsp; &nbsp; //證書工廠類,這個類實現(xiàn)了出廠合格證算法的功能<br />
      &nbsp; &nbsp; &nbsp; &nbsp; CertificateFactory cf = null;<br />
      &nbsp; &nbsp; &nbsp; &nbsp; try {<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cf = CertificateFactory.getInstance("X509");<br />
      &nbsp; &nbsp; &nbsp; &nbsp; } catch (CertificateException e) {<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace();<br />
      &nbsp; &nbsp; &nbsp; &nbsp; }<br />
      &nbsp; &nbsp; &nbsp; &nbsp; //X509證書,X.509是一種非常通用的證書格式<br />
      &nbsp; &nbsp; &nbsp; &nbsp; X509Certificate c = null;<br />
      &nbsp; &nbsp; &nbsp; &nbsp; try {<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c = (X509Certificate) cf.generateCertificate(input);<br />
      &nbsp; &nbsp; &nbsp; &nbsp; } catch (CertificateException e) {<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace();<br />
      &nbsp; &nbsp; &nbsp; &nbsp; }<br />
      &nbsp; &nbsp; &nbsp; &nbsp; String hexString = null;<br />
      &nbsp; &nbsp; &nbsp; &nbsp; try {<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //加密算法的類,這里的參數(shù)可以使MD4,MD5等加密算法<br />
      //&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageDigest md = MessageDigest.getInstance("SHA1");<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageDigest md = MessageDigest.getInstance(tpye);<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //獲得公鑰<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; byte[] publicKey = md.digest(c.getEncoded());<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //字節(jié)到十六進制的格式轉(zhuǎn)換<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hexString = byte2HexFormatted(publicKey);<br />
      &nbsp; &nbsp; &nbsp; &nbsp; } catch (NoSuchAlgorithmException e1) {<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e1.printStackTrace();<br />
      &nbsp; &nbsp; &nbsp; &nbsp; } catch (CertificateEncodingException e) {<br />
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace();<br />
      &nbsp; &nbsp; &nbsp; &nbsp; }<br />
      &nbsp; &nbsp; &nbsp; &nbsp; return hexString;<br />
      &nbsp; &nbsp; }<br />
      <br />

      日歷

      鏈接

      個人資料

      藍藍設(shè)計的小編 http://www.tuitetiyu.cn

      存檔

      主站蜘蛛池模板: 最好看免费观看高清视频大全| 双指探洞水喷出来图片| 久草网新免费资源在线| 亚洲成人av在线资源| 欧洲老熟妇特大黄乱子伦视频| 国产偷v高清在线观看| 亚洲 欧美 综合 另类 中字| 午夜福利高清精品久久| 亚洲一区AV无码少妇电影| 久久精品国产亚洲AV麻豆长发| av一本久道久久波多野结衣| 一本久久a久久精品综合香蕉| 精品国产偷窥丝袜在线拍国语| 国产精品无码2021在线观看| 久久香蕉国产线看观看手机 | 最近免费中文字幕MV在线视频3| 精品国产免费久久| 国产中文欧美日韩在线| 国产亚洲另类专区国语| 久久精品蜜芽国产亚洲av| 午夜福利视频91| 久久精品国产99欧美| 国产gaysexchina男外卖| 国产黄色录像一级片| 人妻激情另类乱人伦人妻| 国产中文佬无码中文娱乐网| 91免费观看视频在线| 亚洲理论电影在线观看| 99久久精品费精品国产| 欧美精品午睡沙发| 婷婷六月综合缴情在线| 国产成人AV一区二区三区无码| 无码专区HEYZO色欲Av| 大尺度无遮挡激烈床震网站| 性欧美丰满熟妇XXXX性| 强开少妇嫩苞又嫩又紧九色| 韩国无码AV片午夜福利| 国产jizzjizz视频| 一本本月无码| 一区二区三区高清视频| 亚洲日韩VA无码中文字幕|