当前位置: 首页>后端>正文

Android获取apk签名md5和公钥

1、获取公钥

利用签名证书,使用命令获取certificate.cer

keytool -export -alias 证书别名 -file certificate.cer -keystore xxx.keystore或xxx.jks

windows直接双击文件,点开查看

Android获取apk签名md5和公钥,第1张

2、获取md5

(1)使用命令keytool -list -v -keystore XXX.jks

有些证书通过此命令没有md5值只有sha值,我就是

(2)使用命令 apksigner.bat verify --print-certs XXX.apk

Android获取apk签名md5和公钥,第2张

本来想确认下签名版本,无意间发现的

(3)也可以直接使用代码获取

public static StringgetSignatureMD5(Context context) {

try {

PackageInfo packageInfo = context.getPackageManager().getPackageInfo(

context.getPackageName(), PackageManager.GET_SIGNATURES);

android.content.pm.Signature[] signatures = packageInfo.signatures;

// 取第一个签名的 MD5 值

? ? ? ? if (signatures.length >0) {

android.content.pm.Signature signature = signatures[0];

byte[] signatureBytes = signature.toByteArray();

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

byte[] digest = md.digest(signatureBytes);

// 将字节数组转换为十六进制字符串

? ? ? ? ? ? StringBuilder sb =new StringBuilder();

for (byte b : digest) {

sb.append(String.format("%02x", b));

}

return sb.toString();

}

}catch (Exception e) {

e.printStackTrace();

}

return null;

}


https://www.xamrdz.com/backend/3x41928254.html

相关文章: