1.代码执行获取密钥散列:
try {
PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String keyHash = Base64.encodeToString(md.digest(), Base64.DEFAULT);
Log.i("MainActivity", "keyHash : " + keyHash);
}
} catch (Exception e) {
e.printStackTrace();
}
try {
int i = 0;
PackageInfo info = getPackageManager().getPackageInfo( getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
i++;
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String KeyHash = Base64.encodeToString(md.digest(), Base64.DEFAULT);
//KeyHash 就是你要的,不用改任何代码 复制粘贴 ;
Log.e("tyl","KeyHash="+KeyHash);
}
}
catch (PackageManager.NameNotFoundException e) {
}
catch (NoSuchAlgorithmException e) {
}
2.用Keytool获取:
keytool -exportcert -alias XXAAA -keystore /Users/jason/XXXBB.keystore | openssl sha1 -binary | openssl base64
输入密码即可
注意:XXAAA 代码签名的别名 XXXBB 代表签名的文件名
本文介绍两种方法来获取Android应用的密钥散列,一种是通过代码执行获取,适用于开发者在应用内部进行;另一种是使用Keytool命令行工具,适合于在开发环境中操作。这些方法对于验证应用身份和集成第三方服务时至关重要。
3874

被折叠的 条评论
为什么被折叠?



