Android Key哈希

时间:2011-01-04 14:57:10

标签: android

朋友们,我想生成Key hash以将FaceBook应用程序合并到我的应用程序中。我正在使用Open SSL Zip。 pl指导我如何生成密钥..

7 个答案:

答案 0 :(得分:35)

在终端(mac)中输入此内容

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

或者进入控制台(windows)

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64

您必须输入密码。密码是: android

代码会出现,代码就是你的密钥哈希。

答案 1 :(得分:24)

为了生成密钥哈希,您需要执行一些简单的步骤。

  1. http://code.google.com/p/openssl-for-windows/downloads/list

  2. 下载Openssl
  3. 在C盘中创建一个openssl文件夹

  4. 将Zip文件解压缩到openssl文件夹

  5. 从我的案例中的.android文件夹复制File debug.keystore(C:\ Users \ SYSTEM.android)并粘贴到我的案例中的JDK bin文件夹(C:\ Program Files \ Java \ jdk1.6.0) _05 \ bin)中

  6. 打开命令提示符并在我的情况下给出JDK Bin文件夹的路径(C:\ Program Files \ Java \ jdk1.6.0_05 \ bin)。

  7. 复制代码并按Enter键

    keytool -exportcert -alias androiddebugkey -keystore debug.keystore > c:\openssl\bin\debug.txt
    
  8. 现在您需要输入密码,密码= android。

  9. 在openssl Bin文件夹中看到你会得到一个名为debug.txt的文件

  10. 现在您可以重新启动命令提示符或使用现有命令提示符

  11. 来到C盘并提供openssl Bin文件夹的路径

  12. 复制以下代码并粘贴 openssl sha1 -binary debug.txt> debug_sha.txt

  13. 您将在openssl bin文件夹中获得debug_sha.txt

答案 2 :(得分:6)

如果您想要单点登录,则只需执行此操作。以下是详细信息:Key hash for Facebook Android SDK

答案 3 :(得分:5)

  1. 根据Windows 32或64位从http://slproweb.com/products/Win32OpenSSL.html下载并安装OpenSSL。(注意:也可以从该站点下载并安装第一个可视的C ++ 208)
  2. 将已安装的OpenSSL的bin目录放在windows路径中。
  3. 打开命令提示符并转到C:\ Users {User_Name} .android
  4. 现在把这个命令放在cmd“ keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64 ”。(参考https://developers.facebook.com/docs/android/getting-started/
  5. 现在输入密码“facebook”,不加双引号。
  6. 现在将生成一个哈希键 enter image description here
  7. 最后转到Facebook Developer网站。确保您已登录Facebook,并使用右上角的下拉菜单转到“开发者设置”:
  8. 进入开发人员设置后,从左侧导航栏中选择“示例应用”,然后将您的密钥哈希添加并保存到您的个人资料中: enter image description here

答案 4 :(得分:4)

如果要在openssl bin文件夹中运行实际密钥,请添加到Vizzz的答案

openssl enc -a -e < debug_sha.txt

我想详细步骤是为了“调试”目的

答案 5 :(得分:2)

将此代码粘贴到onCreate()方法中。

try {
        PackageInfo info = getPackageManager().getPackageInfo("your package name", PackageManager.GET_SIGNATURES);

        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }

    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }

答案 6 :(得分:0)

我错误地想出了一个非常简单的方法来弄清楚你的密钥哈希是什么。在设置新计算机时,我忘记在从facebook SDK运行FriendPickerSample之前生成一个keyhash,当我在手机上打开示例应用程序时,我收到了一条消息。 keyhash XXXXXXXX尚未由应用开发者设置。从那里,您只需将您在XXX中看到的键盘添加到列表中即可开始使用。