<strike id="g3zqm"></strike>

      <cite id="g3zqm"></cite>

        <tr id="g3zqm"><center id="g3zqm"></center></tr>
        <pre id="g3zqm"><sup id="g3zqm"></sup></pre>
        <li id="g3zqm"></li>
      1. 少妇高潮激情一区二区三,免费av深夜在线观看,亚洲狼人久久伊人久久伊,久久精品人人做人人爽电影蜜月,黄色特级片一区二区三区,欧美日韩在线亚洲二区综二,极品少妇无套内射视频,日本极品少妇videossexhd

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

        2020-2-8    seo達人

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

        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; //將簽名轉換為字節數組流<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; //字節到十六進制的格式轉換<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.hengshangtqd.cn

        存檔

        主站蜘蛛池模板: 婷婷四房综合激情五月在线| 波多野结av衣东京热无码专区| 中文a片| 污网站在线观看视频| 国产18女人毛片真多水| 亚洲av一区二区在线看| 91牛| 丝袜制服亚洲| 凤山市| 福利写真视频一区二区| 加勒比一本一道在线| 熟妇人妻不卡中文字幕| 好男人社区在线www| 超碰狠狠干| 欧美丰满老妇性猛交| 国产高清一级毛片视频直播| 亚洲第二十页中文字幕| 黑人又粗又长又大| 中文午夜乱理片无码| 性人久久久久| 久久久亚洲精品一区二区三区| 亚洲色偷偷色噜噜狠狠99网| 亚洲日韩亚洲另类激情文学| 操人网站| 久久66热人妻偷产精品| 国产午夜精品无码一区二区| 日本精品一区在线| 婷婷五月在线视频| 亚洲精品www.| 成 人国产在线观看高清不卡| 在线人成精品免费视频 | 四虎永久精品在线视频| 在线观看亚洲精品国产福利片 | 婷婷丁香五月天综合东京热| 老色鬼精品一区二区| 插插无码视频大全不卡网站| 国产精品 亚洲一区二区三区| 老司机69| 亚洲精品国产摄像头| 九九九久久国产精品| 精品系列无码一区二区三区|