【问题标题】:How to generate Key Hash for facebook SDK In Mac如何在 Mac 中为 facebook SDK 生成密钥哈希
【发布时间】:2011-10-03 11:16:12
【问题描述】:

我正在尝试获取 key hash 以将 facebook 集成到我的 Android 应用程序中。但是在整个网络上我都找不到在MAC OS X 上执行此操作的方法,仅适用于Windows

如果有人可以用正确的方法来获取密钥哈希,我将不胜感激。

谢谢!

【问题讨论】:

    标签: android facebook macos key


    【解决方案1】:

    抱歉,什么关键工具?

    如果您想生成 Facebook 应用 ID/密钥,请转到 https://developers.facebook.com/apps 并创建一个 Facebook 应用。

    如果您想要可用于创建证书等的密钥工具,则包含在 jre 中。

    这里解释如何处理keys和hash: http://developers.facebook.com/docs/guides/mobile/#android

    【讨论】:

    • 是的,谢谢 :) 我也发现了这一点并编辑了帖子:)
    • 对不起,我的错误。我想说我需要我的应用程序的签名,以便我可以在其中集成 facebook!keytool 集成在 jre 中但我不知道如何使用它为 FB 生成我的应用签名!
    • 我敢说它们仅适用于 Mac。您必须对其进行一些更改才能使其在 Windows 上运行,但由于您使用的是 Mac,所以应该没问题。
    • 我是 MAC 的新手,所以请稍等一下:我必须使用我的终端并找到我的 android sdk 并在其位置执行这些命令:DI 知道我要问的是肮脏的但我真的不会:D.谢谢你!
    • 是的。你必须使用终端。如果您对此有具体问题,那可能不应该出现在 SO 上,因为它们本身并不是编程问题。至少它们应该是单独的问题。随意将您的问题标记为已回答,并发布有关如何在 Mac OS X 上使用终端的新问题(但可能不在 stackoverflow 上)。祝你好运!
    【解决方案2】:

    以前从未在 Mac 上做过,但这里有一些建议:

    1.您需要 OpenSSL。安装它。在Windows中我只是提取zip文件,然后将bin文件夹中的三个文件包括openssl.exe复制到jdk的bin文件夹(keytool所在的位置),不知道它在Mac上是如何工作的。

    2.将想要获取密钥哈希的文件keystore复制到jdk的bin文件夹。我的密钥库是 debug.keystore (因为我还在测试中,我不想使用主密钥库)。

    3.使用命令行进入 jdk 的 bin 文件夹(在 Windows 中,我只是 Run -> cmd -> 输入 cd %JAVA_HOME%强>)

    4.键入以下命令:
    keytool -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1 -二进制 | openssl base64

    在我的情况下(debug.keystore):
    keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -二进制 | openssl base64
    然后输入 debug.keystore 的密码:android(没有密码,仍然生成密钥哈希,与密码相同,不知道为什么)。

    你会得到一些结尾带有“=”字符的字符串。转到您的应用设置 -> 移动设备 -> 将该密钥哈希(包括“=”)填充到 Android 密钥哈希。

    【讨论】:

    • Linux 和 Mac 将 debug.keystore 存储在同一路径:~/.android/debug.keystore。如果您想创建新的密钥库,请按照此链接中的说明进行操作 developer.android.com/guide/publishing/app-signing.html
    • 您的答案以Never do it on Mac开始。用户专门寻求有关 Mac OS 的帮助。你至少应该解释一下为什么你认为他永远不应该在 Mac 上这样做(顺便说一句,这是不正确的,在 Mac 上生成密钥没有问题)
    • @yacc 抱歉让你误解了我糟糕的英语。我的意思是我从来没有在Mac上做过,但是我认为在Mac上生成密钥的方式与在Window上大致相同,所以我给了他答案。
    • @AnhTuan 您需要指定实际位置。 keytool -exportcert -alias androiddebugkey -keystore "%USERPROFILE%\.android\debug.keystore" | C:\openssl\bin\openssl.exe sha1 -binary | C:\openssl\bin\openssl.exe base64 并且您的安装说明不清楚。请看stackoverflow.com/questions/5306009/…coreect得票数最高的答案
    【解决方案3】:

    (老实说,不是答案,只是给所有遇到此或类似问题的访问者的注释)

    有一种方法可以在没有 JDK 和 OpenSSL 的情况下使用纯 Java 实用程序 android-fb-keytool 获取密钥哈希。您可以签出和构建源代码。

    【讨论】:

    • 修复了损坏的链接
    【解决方案4】:

    我使用以下步骤在 facebook 中为我的应用生成密钥哈希:(我使用的是 Mac OSX 10.8

    1. 首先打开一个终端(在 Windows 中打开命令提示符)。
    2. 在终端中导航到存储 Android debug.keystore 的目录。
    3. 它通常位于“/Users/user_name/.android/”下(在 Windows 中为 C:\Documents and Settings\.android)。
    4. 进入“.android”目录后,运行以下命令。

      keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -二进制 | openssl base64

    5. 当它提示您输入密码时,输入 android 并按 Enter

    6. 复制终端中打印的以“=”结尾的值,然后 将其粘贴到 Facebook 的 Key Hash 字段中。然后点击保存 更改按钮。

    参考:Integrate Facebook logins in your Android app

    【讨论】:

    • 提示:在编译custom.keystore 时,请注意将密码更改为您在创建 custom.keystore 时提供的密码。
    • 你好阿伦,已经有一段时间没有回答了。我刚刚发布了一个 android 应用程序,它具有 facebook 登录属性。那么以你的方式获取的密钥哈希是发布密钥哈希还是只能在开发模式下使用?
    • Saner 很抱歉延迟回复。我停止了 android 开发 5 年。无法回复 bac
    【解决方案5】:

    请按照以下步骤找到 debug.keystore 并生成 key hash 以便在 mac 上进行 android 开发。

    1. 打开终端

    2. 输入cd ~/.android并回车进入.android目录

    3. 如果要在 finder 中打开 .android 目录,请键入 open . 并回车。然后 .android 目录将在 finder 中打开,您可以在其中找到 debug.keystore。如果你不想打开.android目录,只想生成key hash,那么跳过这一步,按照#4

    4. 在您已经在 .android 目录类型中的终端中

      keytool -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1 -二进制 | openssl base64

      然后按回车键。

    5. 要求您输入密码。输入 android 作为密码并回车。然后你得到以 "="

    6. 结尾的密钥哈希
    7. 复制密钥哈希,进入你的facebook应用设置页面并保存更改。

    【讨论】:

      【解决方案6】:

      在 Mac 上,要生成密钥哈希,请按照以下简单步骤操作。

      1. 打开终端
      2. 在命令下方粘贴(第 3 步)并回车
      3. keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
      4. 输入密码:安卓
      5. 它将为您提供密钥哈希(如 MibyjIEJWghOLquRdk9esClXHWH=)
      6. 这将为您提供调试密钥哈希。我们还可以生成具有相同进程的 Release 密钥哈希。只需要更改我们的密钥库路径和密码。

      快乐编码。谢谢你

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-21
        • 2013-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多