• <abbr id="chdyf"></abbr>
    <ruby id="chdyf"><acronym id="chdyf"><meter id="chdyf"></meter></acronym></ruby>
    <bdo id="chdyf"></bdo>
    <dfn id="chdyf"><menu id="chdyf"></menu></dfn>
    1. <menuitem id="chdyf"></menuitem><strong id="chdyf"><menu id="chdyf"></menu></strong>

      <rt id="chdyf"><menu id="chdyf"></menu></rt>
      成人小说一区二区三区,伊人精品成人久久综合全集观看,久久HEZYO色综合,中文字幕精品人妻熟女,影音先锋成人网站,我要看免费一级毛片,中国女人做爰A片,中文字幕av久久爽Av

      Android 獲取應用 MD5 SHA1 SHA256 簽名信息

      2020-2-8    seo達人

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

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

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

      如下圖:






      
      <span style="white-space:pre;"> </span>主要就是這個方法,傳參數進來獲取相應的簽名類型 信息<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; //獲得包的所有內容信息類<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; //將簽名轉換為字節(jié)數組流<br />
      &nbsp; &nbsp; &nbsp; &nbsp; InputStream input = new ByteArrayInputStream(cert);<br />
      &nbsp; &nbsp; &nbsp; &nbsp; //證書工廠類,這個類實現了出廠合格證算法的功能<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; //加密算法的類,這里的參數可以使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é)到十六進制的格式轉換<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 />

      日歷

      鏈接

      個人資料

      藍藍設計的小編 http://m.wtxcl.cn

      存檔

      主站蜘蛛池模板: 日韩a视频| 中年熟女网| 国产HDAV| 在线亚洲一区二区| 欧美日韩成人| 精品va在线观看| 男人天堂2024在线| 人妻口爆| 亚洲男人天堂| 午夜日逼| 久久午夜夜伦鲁鲁一区二区| 熟女视频在线观看| 日本国产精品高清在线| 大胸美女吃奶爽死视频| 亚洲av黄片一区二区| 国产盗摄专区spa| 91精品少妇高潮一区二区三区不卡| 一区二区视频在线看| 国产啪精品视频网站免| 久久五月丁香中文字幕| 亚洲最大av资源站无码av网址 | AV黄色| 亚洲自拍电影| 久久超碰97中文字幕亚洲| 亚洲Va中文字幕无码毛片下载| 精品丝袜美腿国产一区| 欧美国产亚洲日韩在线二区| 历史| 密云县| 国产三级a三级三级| 丰镇市| 四虎国产精品永久在线无码| 丰满少妇人妻久久久久久| 久久精品国内偷自一区| 成人白浆一区二区三区在线观看| 国产精品日本熟女| 隆林| 清河县| 99久久婷婷国产综合亚洲| 镇平县| 国产精品无码久久久免费 |