Android實現(xiàn)獲取簽名及公鑰的方法
更新時間:2015年10月06日 12:42:40 作者:小賈
這篇文章主要介紹了Android實現(xiàn)獲取簽名及公鑰的方法,可實現(xiàn)Android通過包名獲取相關(guān)簽名及公鑰的功能,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了Android實現(xiàn)獲取簽名及公鑰的方法。分享給大家供大家參考。具體如下:
1. java代碼如下:
private byte[] getSign(Context context) {
PackageManager pm = context.getPackageManager();
List<PackageInfo> apps = pm
.getInstalledPackages(PackageManager.GET_SIGNATURES);
Iterator<PackageInfo> iter = apps.iterator();
while (iter.hasNext()) {
PackageInfo info = iter.next();
String packageName = info.packageName;
//按包名 取簽名
if (packageName.equals("com.test.test")) {
return info.signatures[0].toByteArray();
}
}
return null;
}
2. java代碼如下:
public static String getPublicKey(byte[] signature) {
try {
CertificateFactory certFactory = CertificateFactory
.getInstance("X.509");
X509Certificate cert = (X509Certificate) certFactory
.generateCertificate(new ByteArrayInputStream(signature));
String publickey = cert.getPublicKey().toString();
publickey = publickey.substring(publickey.indexOf("modulus: ") + 9,
publickey.indexOf("\n", publickey.indexOf("modulus:")));
Log.d("TRACK", publickey);
return publickey;
} catch (CertificateException e) {
e.printStackTrace();
}
return null;
}
希望本文所述對大家的Android程序設(shè)計有所幫助。
相關(guān)文章
android利用websocket協(xié)議與服務(wù)器通信
這篇文章主要為大家詳細(xì)介紹了android利用websocket協(xié)議與服務(wù)器通信,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03
Android中使用Kotlin實現(xiàn)一個簡單的登錄界面
Kotlin 是一種在 Java 虛擬機上運行的靜態(tài)類型編程語言,被稱之為 Android 世界的Swift,由 JetBrains 設(shè)計開發(fā)并開源。接下來本文通過實例代碼給大家講解Android中使用Kotlin實現(xiàn)一個簡單的登錄界面,一起看看吧2017-09-09
XListView實現(xiàn)網(wǎng)絡(luò)加載圖片和下拉刷新
這篇文章主要為大家詳細(xì)介紹了XListView實現(xiàn)網(wǎng)絡(luò)加載圖片和下拉刷新,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11

