代码之家  ›  专栏  ›  技术社区  ›  user237462

Facebook密钥哈希生成错误格式

  •  0
  • user237462  · 技术社区  · 6 年前

    我正试图通过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=但图像显示的是不同的

    enter image description here

    1 回复  |  直到 6 年前
        1
  •  0
  •   Mahesh Keshvala    6 年前

    请使用下面的代码生成哈希键 (使用函数) :

    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用户):

    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
    

    使用此命令并下载SSL Use this link

    (仅限MAC用户:)

    keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64