Java 未验证密钥哈希以使用facebook sdk登录
我想使用facebook sdk。我在fb开发者控制台中创建了一个应用程序,还使用Java 未验证密钥哈希以使用facebook sdk登录,java,android,facebook,key,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.
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=
X41I3UCY/KBVDOFRERFWS0=
我得到这个错误,错误中显示的密钥与我从cmd获得的密钥不同,它存储在fb开发者控制台中
怎么办
请帮忙。谢谢..在您的活动之一中运行此代码
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中。尝试在两个catch块中打印e.printStackTrace。出现一些错误。请检查。好的,这是可行的,但您能否解释一下此哈希键在Facebook中的工作原理?为什么cmd中的哈希键不起作用?
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) {
}