美型妖精大混战108,南阳桥震门,伍思民
将apk发布到应用商店或接入第三方的sdk时,有时需要提供apk的签名摘要信息,可以通过摘要算法md5或sha-1来获取签名的摘要,除了获取自己的apk签名,也可以获取手机上其他已安装的apk签名,只需要传入其他apk的包名即可。
private static final char[] hex_char = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; /** 获取签名的md5摘要 */ public string[] signaturedigest() { pkginfo = mcontext.getpackagemanager().getpackageinfo( mcontext.getpackagename(), packagemanager.get_signatures); int length = pkginfo.signatures.length; string[] digests = new string[length]; for (int i = 0; i < length; ++i) { signature sign = mpkginfo.signatures[i]; try { messagedigest md5 = messagedigest.getinstance("md5"); byte[] digest = md5.digest(sign.tobytearray()); // get digest with md5 algorithm digests[i] = tohexstring(digest); } catch (nosuchalgorithmexception e) { e.printstacktrace(); digests[i] = null; } } return digests; } /** 将字节数组转化为对应的十六进制字符串 */ private string tohexstring(byte[] rawbytearray) { char[] chars = new char[rawbytearray.length * 2]; for (int i = 0; i < rawbytearray.length; ++i) { byte b = rawbytearray[i]; chars[i*2] = hex_char[(b >>> 4 & 0x0f)]; chars[i*2+1] = hex_char[(b & 0x0f)]; } return new string(chars); }
以上就是本文的全部内容,希望对大家的学习有所帮助。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
浅析我对 String、StringBuilder、StringBuffer 的理解
使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)
Springboot整合freemarker 404问题解决方案
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
网友评论