Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Facebook密钥哈希生成错误格式_Android_Facebook - Fatal编程技术网

Android Facebook密钥哈希生成错误格式

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表单,它应该没有字符,并且有一个尾随的=符号 当我复制和粘贴

我正在尝试使用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表单,它应该没有字符,并且有一个尾随的=符号

当我复制和粘贴时,它会给出一个错误

编辑-添加图像错误。此键与答案生成的键不同

生成的密钥为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