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

时间:2014-07-29 10:04:34

标签: android android-keystore

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

尝试以下两种方法,这些方法提供不同的密钥,但都不起作用。

方法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) {

}

方法2:

在Windows上,使用:

keytool -exportcert -alias <mykeystorelias> -keystore <keystorepath> | openssl sha1 -binary | openssl base64

但是方法1适用于调试密钥库。

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

1 个答案:

答案 0 :(得分:0)

如果你想在调试模式下测试应用程序..请尝试在windows cmd中运行以下命令

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

提示输入密码时,请输入&#39; android&#39;

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

keytool -exportcert -alias <mykeystorelias> -keystore <keystorepath> | openssl sha1 -binary | openssl base64

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