簡體   English   中英

密鑰哈希與android中的發布密鑰和調試密鑰庫不同

[英]Key Hash is different from release key and debug keystores in android

我在應用程序中使用了Facebook SDK,為此我使用debug.keystore和release keystore生成了密鑰哈希。 我已經在我的應用程序的開發人員頁面中添加了兩個密鑰哈希。 但是我仍然收到類似的錯誤

com.facebook.http.protocol.ApiException:密鑰哈希“ LLSiRNj0hXH8BQpUJivI0UJz00Q”與任何存儲的密鑰哈希都不匹配。

但是以上錯誤消息中給出的密鑰哈希不屬於我生成的任何密鑰哈希。 我不知道此密鑰哈希將如何生成以及它來自何處。

我還在開發人員頁面中添加了以下代碼生成的密鑰哈希。

錯誤消息中的密鑰哈希與以下3個密鑰哈希都不匹配(通過以下代碼調試密鑰庫,釋放密鑰庫,密鑰哈希)

碼:

try {
        PackageInfo info = getPackageManager().getPackageInfo(
        "com.bloopit.activities", 
        PackageManager.GET_SIGNATURES);
          for (Signature signature : info.signatures) {
           MessageDigest md = MessageDigest.getInstance("SHA");
           md.update(signature.toByteArray());
           System.out.println("KeyHash : "+ Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }

我只想知道錯誤消息中的密鑰哈希來自何處? 我將密鑰哈希添加到我的開發人員頁面上,並且運行良好,但是我不知道它是否正確。

會導致任何問題嗎?

謝謝} catch(NameNotFoundException e){} catch(NoSuchAlgorithmException e){}

對於Linux

打開終端:

對於調試版本

keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64

您會從“ .android”文件夾中找到debug.keystore並從中復制並粘貼到桌面上,然后運行上述命令

發布版本

keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath> | openssl sha1 -binary | openssl base64

注意:確保在兩種情況下都必須輸入密碼。 如果未要求輸入密碼,則表示命令中存在錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM