使用facebook sdk为app生成哈希键

abh*_*hek 31 android openssl keytool single-sign-on facebook-graph-api

我正在使用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
Run Code Online (Sandbox Code Playgroud)

我从未被提示输入密码,但我获得了哈希密钥.

Lav*_*nya 61

试试这个:

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

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


ACe*_*giz 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) {

    }
Run Code Online (Sandbox Code Playgroud)

  • 此代码是否在两者中生成相同的散列键:debug和release? (3认同)
  • 就是这个.记得用你的包名更改"你的包名";) (2认同)