32

我正在使用 facebook sdk 登录我的应用程序。该应用程序在 HTC 设备上运行良好。如果没有预先安装 facebook 应用程序,该应用程序也可以在三星设备上正常运行。

但是,如果移动设备上已经有 facebook 应用程序,然后用户安装了我的应用程序,则用户永远不会登录。据我所知,我认为这可能是单点登录的问题,我认为这与生成有点相关正确的应用程序哈希键,并在我用来登录移动应用程序的 Facebook 应用程序中使用哈希键。

请指导我如何创建哈希键。我正在运行 ubuntu 10.4。

当我在终端中运行此命令时:-

keytool -exportcert -alias <your keystore alias name>.keystore -keystore ~/.android/<your keystore name>.keystore | openssl sha1 -binary | openssl base64

我从来没有被提示输入密码,尽管我得到了哈希键。

4

6 回答 6

62

尝试这个:

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

我希望你能得到它。我刚刚检查了它,我得到了密码提示。

于 2011-05-13T08:56:54.623 回答
46

您可以使用此代码块生成哈希键。将此代码块放在您的 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.d("Your Tag", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }
于 2013-02-19T12:21:02.837 回答
4

如果它没有提示您输入密码,请先打开您的终端并输入:

sudo apt install openjdk-8-jre-headless

然后按照常规方式,只需键入:

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

输入密码:android 你已经完成了。

此答案仅用于调试目的,为了发布目的,请使用您的 .jks 文件生成哈希密钥。

于 2017-02-09T20:49:33.440 回答
3

只需将命令如下:

keytool -exportcert -alias androiddebugkey -keystore debug.keystore

并给出击键密码或android或输入

在这里,您必须转到目录结构,直到“.android”然后运行此命令。通常路径为C:\Users\User-name\.android>.

于 2012-10-17T07:06:46.640 回答
2

检查环境中的三个部分。

  1. “debug.keystore”在哪里?

    寻找/ -name "debug.keystore"

    如果找不到,请检查 eclipse 或 ADT。

  2. 什么是别名

    keytool -list -v -keystore "PATH_TO_DEBUG_KEYSTORE"

  3. 检查是否安装了openssl

    openssl

如果一切准备就绪,它应该会提示输入密码

于 2013-02-27T17:11:38.827 回答
0
C:\openssl\bin>keytool -exportcert -alias aliasName -keystore "C:\Users\s\.android\debu
g.keystore" | "C:\openssl\bin\openssl" sha1 -binary | "C:\openssl\bin\openssl" b
ase64
Enter keystore password:  android
GEYtOJobR4NzuxX4iOl/yR6sla4=
于 2016-05-17T10:37:51.190 回答