2013-12-18 22 views
1

我試圖把我的debbug哈希鍵,即:「e3U9nzK7A8gyWoCiNUZQA/C + bZI =」。 但每次我把它放在我的Facebook應用程序的關鍵哈希部分內時,它會自動更改爲「e3U9nzK7A8gyWoCiNUZQA%2FC%2BbZI%3D」,這使得我的應用程序無用。 我使用了兩種方法來獲取此密鑰,並且它返回相同的值:keytool -exportcert -alias androiddebugkey -keystore〜/ .android/debug.keystore | openssl sha1 -binary | OpenSSL的BASE64Facebook的應用程序的Android哈希鍵更改

和:

private void getAppKeyHash() { 
    try { 
     PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES); 
     for (Signature signature : info.signatures) { 
      MessageDigest md; 

      md = MessageDigest.getInstance("SHA"); 
      md.update(signature.toByteArray()); 
      String something = new String(Base64.encode(md.digest(), 0)); 
      Log.d("Hash key", something); 
     } 
    } 
    catch (NameNotFoundException e1) { 
     // TODO Auto-generated catch block 
     Log.e("name not found", e1.toString()); 
    } 

    catch (NoSuchAlgorithmException e) { 
     // TODO Auto-generated catch block 
     Log.e("no such an algorithm", e.toString()); 
    } 
    catch (Exception e){ 
     Log.e("exception", e.toString()); 
    } 

} 

回答

0

我有同樣的問題,並意識到這是facebook's結束的錯誤。請參閱link。非常討厭。

編輯

唯一的工作解決(但醜陋的),直到它解決似乎是通過Web界面來強制登錄,因爲SSO是使用hashkey之一。

如果使用登錄按鈕:

LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton); 
authButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO); 

來源:Android - Force Facebook connection - Stack Overflow

編輯2

它雖然可以解決;我問了一個朋友(通過Skype,他在Mac上)爲我添加它們。他設法正確(但我不知道如何)。

編輯3

現在這個問題似乎已經解決了本身對我來說。輸入的散列鍵不再被重寫。無論是由fb團隊解決還是隻需要從我那裏重新啓動計算機我都不知道。

1

嘗試這個

try { 
       PackageInfo info = getPackageManager().getPackageInfo(com.domain, 
         PackageManager.GET_SIGNATURES); 
       for (Signature signature : info.signatures) { 
        MessageDigest md = MessageDigest.getInstance("SHA"); 
        md.update(signature.toByteArray()); 
        Log.i("PXR", com.domain.Base64.encodeBytes(md.digest())); 
       } 
      } catch (NameNotFoundException e) { 
      } catch (NoSuchAlgorithmException e) { 
      } 
+0

沒有com.ABC包,你是什麼意思? – Tsunaze

+0

您的軟件包名稱。用您的軟件包名稱替換com.ABC。 –

+0

它返回相同的哈希鍵,問題出現在Facebook開發者網站上,我複製,粘貼和保存。保存後,它會重新加載並更改我的散列密鑰 – Tsunaze

相關問題