2015-04-20 53 views

回答

0

嘗試下面的代碼,如果openssl安裝在PC和工作目錄是JRE的bin文件夾中獲得Key Hash

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // Add code to print out the key hash 
    try { 
     PackageInfo info = getPackageManager().getPackageInfo(
       "com.facebook.samples.hellofacebook", 
       PackageManager.GET_SIGNATURES); 
     for (Signature signature : info.signatures) { 
      MessageDigest md = MessageDigest.getInstance("SHA"); 
      md.update(signature.toByteArray()); 
      Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
      } 
    } catch (NameNotFoundException e) { 

    } catch (NoSuchAlgorithmException e) { 

    } 
+0

謝謝您,我使用了工具並輕鬆獲取。 –

+0

@ToanNguyenDuc如果我的答案解決了您的問題,請接受此答案並關閉您的問題,以便如果其他人有同樣的問題,可能對他們有用。 –

0

Abive代碼成功運行。

C:\Program Files\Java\jre<version_number>\bin> 

VERSION_NUMBER依賴於JRE的安裝版本。下載openssl並給出openssl可執行文件的絕對路徑。示例代碼如下所示

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | "C:\Users\Anand\Documents\openssl\bin\openssl.exe" sha1 -binary | "C:\Users\Anand\Documents\openssl\bin\openssl.exe" base64 
相關問題