Welcome

首页 / 移动开发 / Android / Android实现获取签名及公钥的方法

本文实例讲述了Android实现获取签名及公钥的方法。分享给大家供大家参考。具体如下:
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("
", publickey.indexOf("modulus:")));Log.d("TRACK", publickey);return publickey; } catch (CertificateException e) {e.printStackTrace(); } return null;}
希望本文所述对大家的Android程序设计有所帮助。