在安卓应用开发中,如果有支付、定位等需求的时候,就会获取Apk的SHA1。以下是获取的方法:
1、Android Studio的Terminal工具获取
打开Android Studio的Terminal工具,输入命令:keytool -v -list -keystore 应用签名文件。
keytool -v -list -keystore G:\key.jks
最后可得到这样的结果:
2、代码获取
public static String sha1(Context context) {
try {
PackageInfo info = context.getPackageManager().getPackageInfo(
context.getPackageName(), PackageManager.GET_SIGNATURES);
byte[] cert = info.signatures[0].toByteArray();
MessageDigest md = MessageDigest.getInstance("SHA1");
byte[] publicKey = md.digest(cert);
StringBuilder hexString = new StringBuilder();
for (byte b : publicKey) {
String appendString = Integer.toHexString(0xFF & b).toUpperCase(Locale.US);
if (appendString.length() == 1)
hexString.append("0");
hexString.append(appendString);
hexString.append(":");
}
String result = hexString.toString();
return result.substring(0, result.length()-1);
} catch (PackageManager.NameNotFoundException | NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
3、用微信的工具获取
在微信开放平台下载一个安装包,安装到手机上,输入包名就能够获取到。
4、通过在线网站获取
这个网站获取很便捷,直接导入安装包就可以了。还能app备案公钥和Md5查询