Android为facebook应用程序获取错误的密钥哈希

Android为facebook应用程序获取错误的密钥哈希,android,android-keystore,Android,Android Keystore,我正在尝试获取发布密钥库的密钥哈希 尝试了以下两种方法,它们给出了不同的键,但都不起作用 方法1: // Add code to print out the key hash try { PackageInfo info = getPackageManager().getPackageInfo( <MYPACKAGE>, PackageManager.GET_SIGNATURES); for (Signature s

我正在尝试获取发布密钥库的密钥哈希

尝试了以下两种方法,它们给出了不同的键,但都不起作用

方法1:

 // Add code to print out the key hash
try {
    PackageInfo info = getPackageManager().getPackageInfo(
            <MYPACKAGE>, 
            PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
} catch (NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}
//添加代码以打印密钥哈希
试一试{
PackageInfo info=getPackageManager().getPackageInfo(
, 
PackageManager.GET_签名);
用于(签名:信息签名){
MessageDigest md=MessageDigest.getInstance(“SHA”);
md.update(signature.toByteArray());
Log.d(“KeyHash:,Base64.encodeToString(md.digest(),Base64.DEFAULT));
}
}catch(nameNotFounde异常){
}捕获(无算法异常){
}
方法2:

在Windows上,使用:

keytool -exportcert -alias <mykeystorelias> -keystore <keystorepath> | openssl sha1 -binary | openssl base64
keytool-exportcert-alias-keystore | openssl sha1-binary | openssl base64
但是方法1适用于调试密钥库

  • 发布密钥库是我从eclipse创建的,没有名称的扩展名
  • 当我使用方法2时,它要求输入密码

  • 如果要在调试模式下测试应用程序,请尝试在windows cmd中运行以下命令

    keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64 
    
    keytool -exportcert -alias <mykeystorelias> -keystore <keystorepath> | openssl sha1 -binary | openssl base64
    
    当提示输入密码时,输入“android”

    对于发布版本,请使用通过eclipse导出创建的发布证书 并在windows cmd中运行以下命令

    keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64 
    
    keytool -exportcert -alias <mykeystorelias> -keystore <keystorepath> | openssl sha1 -binary | openssl base64
    
    keytool-exportcert-alias-keystore | openssl sha1-binary | openssl base64
    

    使用与您在eclipse中导出应用程序时使用的密码相同的密码

    我相信,我在问题中发布了相同的密码