我想使用 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
我收到此错误,错误中显示的 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/