Android Facebook密钥哈希生成错误格式
我正在尝试使用facebook connect为Android应用程序生成发布密钥哈希 当我跑的时候Android Facebook密钥哈希生成错误格式,android,facebook,Android,Facebook,我正在尝试使用facebook connect为Android应用程序生成发布密钥哈希 当我跑的时候 keytool -exportcert -alias al1 -keystore "C:\Users\Chris\.android\debug.keystore" | openssl sha1 -binary | openssl base64 它产生 Pz80cT8/PyE/PxQ/Pz9QPz8/Pz8K 但是根据Facebook表单,它应该没有字符,并且有一个尾随的=符号 当我复制和粘贴
keytool -exportcert -alias al1 -keystore "C:\Users\Chris\.android\debug.keystore" | openssl sha1 -binary | openssl base64
它产生
Pz80cT8/PyE/PxQ/Pz9QPz8/Pz8K
但是根据Facebook表单,它应该没有字符,并且有一个尾随的=符号
当我复制和粘贴时,它会给出一个错误
编辑-添加图像错误。此键与答案生成的键不同
生成的密钥为Bc0k73mIke+DkZ7U6l3Y6+6FX3w=但图像显示不同
请使用以下代码生成哈希键(使用函数):
public static void printHashKey(Context pContext) {
try {
PackageInfo info = pContext.getPackageManager().getPackageInfo(pContext.getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String hashKey = new String(Base64.encode(md.digest(), 0));
Log.i(TAG, "printHashKey() Hash Key: " + hashKey);
}
} catch (NoSuchAlgorithmException e) {
Log.e(TAG, "printHashKey()", e);
} catch (Exception e) {
Log.e(TAG, "printHashKey()", e);
}
}
生成此散列密钥后,将此密钥添加到facebook控制台。
之后,您可以访问facebook。使用命令
对于释放密钥,请按照以下步骤生成:
(仅限Windows用户):
在Java SDK文件夹的命令提示符中运行以下命令:
keytool-exportcert-alias-keystore | PATH_TO_OPENSSL_LIBRARY\bin\OPENSSL sha1-binary | PATH_TO_OPENSSL_LIBRARY\bin\OPENSSL base64
使用此命令并下载SSL
(仅限MAC用户:)
keytool-exportcert-alias-keystore | openssl sha1-binary | openssl base64
这会生成发布密钥还是调试密钥?此密钥既适用于调试,也适用于发布。为什么它不是错误中显示的不存在的同一密钥?我将添加一个屏幕快照我想问题在于:keytool-exportcert-alias androiddebugkey-keystore~/.android/debug.keystore | openssl sha1-binary | openssl base64您没有编写android调试密钥。因此,它可能会生成不同的keyPz8RGD8HPz85d0Q/GQc/QWAPGD8K,因为生成的keyPz8RGD8HPz85d0Q/GQc/QWAPGD8K格式错误
Run the following command in a command prompt in the Java SDK folder:
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | PATH_TO_OPENSSL_LIBRARY\bin\openssl sha1 -binary | PATH_TO_OPENSSL_LIBRARY\bin\openssl base64
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64