我正在使用facebook sdk登录我的应用程序。 该应用程序在HTC设备上运行良好。 如果没有安装Facebook应用程序,该应用程序也可以在三星设备上正常工作。
但如果手机上已经有facebook应用程序,然后用户安装了我的应用程序,则该用户从未登录。 据我所知,我认为这可能是单点登录的问题,我认为这与生成正确的应用程序哈希键有关,并且在我用于登录移动应用程序的facebook应用程序中使用哈希键。 / p>
请指导我如何创建哈希键。我正在运行ubuntu 10.4。
当我在终端中运行此命令时: -
keytool -exportcert -alias <your keystore alias name>.keystore -keystore ~/.android/<your keystore name>.keystore | openssl sha1 -binary | openssl base64
我从未被提示输入密码,但我获得了哈希密钥。
答案 0 :(得分:61)
试试这个:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
我希望你能得到它。我刚检查了一下,我收到了密码提示。
答案 1 :(得分: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) {
}
答案 2 :(得分:3)
只需将命令命名为:
keytool -exportcert -alias androiddebugkey -keystore debug.keystore
并给出击键密码或android或输入
在这里你必须转到目录结构,直到“.android”然后运行这个commnad。通常路径是C:\Users\User-name\.android>
。
答案 3 :(得分:2)
检查环境中的三个部分。
“debug.keystore”?
找到/ -name "debug.keystore"
如果你找不到它,请检查你的日食或ADT。
什么是别名?
keytool -list -v -keystore "PATH_TO_DEBUG_KEYSTORE"
检查是否已安装 openssl
openssl
如果一切准备就绪,则应提示输入密码
答案 4 :(得分:2)
如果它没有提示您输入密码,请先打开终端并输入:
sudo apt install openjdk-8-jre-headless
然后按照常规方式,输入:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
密码放置:android
你们都完成了。
此答案仅用于调试目的,出于发布目的,请使用.jks文件生成哈希键。
答案 5 :(得分: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=