<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 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.sdgs6788.com

          存檔

          7777久久亚洲中文字幕| 亚洲国产天堂久久综合| 久久久久人妻精品一区二区三区| 久久久久人妻一区精品色| 色综合久久中文综合网| 久久久久无码精品| 日本强好片久久久久久AAA | 精品国产乱码久久久久久呢| 亚洲熟妇无码另类久久久| 久久久青草青青亚洲国产免观| 久久综合给合综合久久| 久久国产精品无码一区二区三区 | 91久久婷婷国产综合精品青草| 色偷偷888欧美精品久久久| 久久精品中文字幕大胸| 99久久精品免费看国产一区二区三区| 久久久久久久久66精品片| 99久久婷婷国产综合精品草原| 久久久久国产精品嫩草影院| 国产精品综合久久第一页| 99久久99久久| 精品久久久久久无码专区不卡| 亚洲欧美日韩精品久久亚洲区| 国产免费福利体检区久久| 久久久久免费看成人影片| 无码人妻久久一区二区三区免费| 久久综合久久性久99毛片| 久久国产精品波多野结衣AV| 色综合久久88色综合天天| 久久九九全国免费| 97久久香蕉国产线看观看| 精品国产乱码久久久久久1区2区 | 99久久成人国产精品免费| 新狼窝色AV性久久久久久| 无码人妻久久一区二区三区蜜桃| 无码乱码观看精品久久| 久久久黄色大片| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 亚洲国产精品嫩草影院久久| 亚洲国产成人精品91久久久 | 亚洲国产成人久久精品动漫|