java获取手机已安装APK的签名摘要
将APK发布到应用商店或接入第三方的SDK时,有时需要提供APK的签名摘要信息,可以通过摘要算法MD5或SHA-1来获取签名的摘要,除了获取自己的APK签名,也可以获取手机上其他已安装的APK签名,只需要传入其他APK的包名即可。
privatestaticfinalchar[]HEX_CHAR={
'0','1','2','3','4','5','6','7',
'8','9','A','B','C','D','E','F'
};
/**获取签名的MD5摘要*/
publicString[]signatureDigest(){
pkgInfo=mContext.getPackageManager().getPackageInfo(
mContext.getPackageName(),PackageManager.GET_SIGNATURES);
intlength=pkgInfo.signatures.length;
String[]digests=newString[length];
for(inti=0;i<length;++i){
Signaturesign=mPkgInfo.signatures[i];
try{
MessageDigestmd5=MessageDigest.getInstance("MD5");
byte[]digest=md5.digest(sign.toByteArray());//getdigestwithmd5algorithm
digests[i]=toHexString(digest);
}catch(NoSuchAlgorithmExceptione){
e.printStackTrace();
digests[i]=null;
}
}
returndigests;
}
/**将字节数组转化为对应的十六进制字符串*/
privateStringtoHexString(byte[]rawByteArray){
char[]chars=newchar[rawByteArray.length*2];
for(inti=0;i<rawByteArray.length;++i){
byteb=rawByteArray[i];
chars[i*2]=HEX_CHAR[(b>>>4&0x0F)];
chars[i*2+1]=HEX_CHAR[(b&0x0F)];
}
returnnewString(chars);
}
以上就是本文的全部内容,希望对大家的学习有所帮助。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西