为facebook开发生成哈希键

时间:2013-10-23 07:14:15

标签: android hash android-facebook

我最近开始研究facebook API,在这种情况下我生成Hash密钥并在Facebook上注册以供进一步使用。

为此,我使用了以下代码

PackageInfo info;
try {
    info = getPackageManager().getPackageInfo("com.you.name", PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md;
        md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        String something = new String(Base64.encode(md.digest(), 0));
        //String something = new String(Base64.encodeBytes(md.digest()));
        Log.e("hash key", something);
    }
} catch (NameNotFoundException e1) {
    Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
    Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
    Log.e("exception", e.toString());
}

一切顺利,因为我能够在我的应用程序中使用facebook。

但是,在playstore上发布应用程序后,我发现了错误Invalid_Android_key参数。密钥与任何允许的密钥都不匹配在https://developers.facebook.com/apps/ ..........

配置您的应用密钥哈希值

请让我知道这个问题的原因以及如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

我有同样的问题,在创建apk后,密钥哈希发生了变化!因为使用这段代码你得到调试密钥库哈希,但是当创建apk时,它是另一个哈希,在模拟器上尝试你的apk后必须从日志中捕获它,然后删除代码并再次导出没有这个日志,我知道这是一个麻烦,但对我来说它比keytool更容易......