java - key 哈希未得到验证以使用 facebook sdk 登录

标签 java android facebook key

我想使用 facebook sdk。我在 fb 开发者控制台中创建了一个应用程序,还使用 ​​

创建了一个哈希键
 C:\Program Files (x86)\Java\jre1.8.0_131\bin>keytool -exportcert -alias androiddebugkey -keystore C:\Users\siddhi jambhale\.android\debug.keystore | "C:\Program Files (x86)\openssl-0.9.8k_X64\bin\openssl.exe" sha1 -binary | "C:\Program Files (x86)\openssl-0.9.8k_X64\bin\openssl.exe" base64



Illegal option:  jambhale\.android\debug.keystore

keytool -exportcert [OPTION]...

Exports certificate

Options:

 -rfc                            output in RFC style
 -alias <alias>                  alias name of the entry to process
 -file <filename>                output file name
 -keystore <keystore>            keystore name
 -storepass <arg>                keystore password
 -storetype <storetype>          keystore type
 -providername <providername>    provider name
 -providerclass <providerclass>  provider class name
 -providerarg <arg>              provider argument
 -providerpath <pathlist>        provider classpath
 -v                              verbose output
 -protected                      password through protected mechanism

Use "keytool -help" for all available commands
2jmj7l5rSw0yVb/hgfgfr/YBwk=

上面显示非法选项,但得到了 key ,尝试使用该 key 但不起作用。

由于显示非法选项,我尝试减少用户名之间的空格,即 siddhijambhale。并尝试了我得到的 key 。但这也行不通。

C:\Program Files (x86)\Java\jre1.8.0_131\bin>keytool -exportcert -alias androiddebugkey -keystore C:\Users\siddhijambhale\.android\debug.keystore | "C:\Program Files (x86)\openssl-0.9.8k_X64\bin\openssl.exe" sha1 -binary | "C:\Program Files (x86)\openssl-0.9.8k_X64\bin\openssl.exe" base64

X4RAFa1I3Ucy/kBvdofrerffwS0= enter image description here

我收到此错误,错误中显示的 key 与我从 cmd 获取的存储在 fb 开发人员控制台中的 key 不同。

为此该怎么办?

请帮忙。谢谢..

最佳答案

在您的 Activity 之一中运行此代码...

try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "YOUR_PACAKGE_NAME", 
                    PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
                }
        } catch (NameNotFoundException e) {

        } catch (NoSuchAlgorithmException e) {

        }

它将为您提供 keyHash 并将该 keyhash 添加到您的 Facebook A/C 中。

关于java - key 哈希未得到验证以使用 facebook sdk 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44240846/

相关文章:

java - 如何为 CSV 文件同时转义逗号和双引号?

长时间 sleep 后Android webview无响应

android - Facebook 登录 Android 后应用程序关闭(Facebook SDK 版本 4.6.0)?

Java程序,int i (i=0)默认值被使用,尽管它每次循环增加1

java - Big O - 适合新手

android - Android 11 中的位置更新

php - 错误 (100) : Parameters do not match any fields that can be updated

css - 调整 Facebook 分享按钮的大小

java - Spring SQLUpdate 将时间为零的日期插入数据库

Android testCompile 项目不工作