第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

在代碼中如何獲取應(yīng)用簽名及sha1值

標(biāo)簽:
Android

在需要微信分享、支付的项目中,会涉及到应用签名,这里主要讨论怎么在应用里获取应用的签名信息。

不多说了,直接上代码:

PackageManager packageManager = context.getPackageManager();

//请注意需要PackageManager.GET_SIGNATURES 这个flag

PackageInfo packageInfo = packageManager.getPackageInfo(context.getPackageName(),

PackageManager.GET_SIGNATURES);

Signature[] signs = packageInfo.signatures;

Signature sign = signs[0];

// X509证书,X.509是一种非常通用的证书格式

CertificateFactory certFactory = CertificateFactory.getInstance("X.509");

X509Certificate cert = (X509Certificate) certFactory

.generateCertificate(new ByteArrayInputStream(sign.toByteArray()));

// md5

MessageDigest md = MessageDigest.getInstance("MD5");

// 获得公钥

byte[] b = md.digest(cert.getEncoded());

//key即为应用签名

String key=byte2HexFormatted(b).replace(":", "");

/**

 * 将获取到得编码进行16进制转换

 * 

 * @param arr

 * @return

 */

private static String byte2HexFormatted(byte[] arr) {

StringBuilder str = new StringBuilder(arr.length * 2);

for (int i = 0; i < arr.length; i++) {

String h = Integer.toHexString(arr[i]);

int l = h.length();

if (l == 1)

h = "0" + h;

if (l > 2)

h = h.substring(l - 2, l);

str.append(h.toUpperCase());

if (i < (arr.length - 1))

str.append(':');

}

return str.toString();

}

最后在附上如何获取sha1值:

/** 

 * 获得app 的sha1值 * 

 * @param context 

  * @return */ 

 public static String getAppSignSha1(Context context) { 

 try { 

 PackageManager packageManager = context.getPackageManager();

 PackageInfo packageInfo = packageManager.getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);

// X509证书,X.509是一种非常通用的证书格式 

 Signature[] signs = packageInfo.signatures;

 Signature sign = signs[0]; 

CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); 

 X509Certificate cert = (X509Certificate) certFactory .generateCertificate(new ByteArrayInputStream(sign.toByteArray()));  // md5

 MessageDigest md = MessageDigest.getInstance("SHA1"); 

  // 获得公钥 byte[] b = md.digest(cert.getEncoded()); 

 return byte2HexFormatted(b); 

 } catch (Exception e) {

 e.printStackTrace(); 

 }

  return null; }

原文链接:http://www.apkbus.com/blog-625356-61016.html

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消