44

FacebookAndroidSDKを使用するために必要なキーハッシュを取得する方法がわかりません。keytoolこれらのコマンドで使用できることがわかりました。

  keytool -exportcert -alias [alias]
 -keystore [keystore] | openssl sha1 -binary | openssl enc -a -e

唯一の問題は、これをどこに挿入すればよいかわからないことです。コマンドウィンドウ(win7)を試し、keytool.exeファイルを開いてみました。

4

9 に答える 9

27

ここからOpenSSLをインストールできます。これにより、コマンドが機能するはずです。

于 2010-12-03T17:55:59.673 に答える
20

必要なFacebookキーハッシュを返すバッチスクリプトfacebookkeydebug.batを作成しました。スクリプトを編集し、正しいパス、キーストア名を設定して実行するだけです。

:: Getting Android key hash for Facebook app on Windows
:: Requirement: OpenSSL for Windows (http://code.google.com/p/openssl-for-windows/downloads/list)
:: Usage: set paths and run facebookkeydebug.bat

@echo Exporting keystore cert
keytool -exportcert -alias androiddebugkey -keystore C:\Users\myusername\.android\debug.keystore -storepass android -keypass android > debug.keystore.bin

@echo Converting to sha1
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl sha1 -binary debug.keystore.bin > debug.keystore.sha1

@echo Converting to base64
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl base64 -in debug.keystore.sha1 -out debug.keystore.base64

@echo Done, Android hash key for Facebook app is:
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl base64 -in debug.keystore.sha1
@pause

編集:Windowsで証明書キーに署名して取得するためのバッチスクリプトを含むリポジトリを公開しました:https ://github.com/petrnohejl/Android-Scripts

于 2012-07-03T17:43:31.960 に答える
18
  1. Windows 32または64ビットに基づいてhttp://slproweb.com/products/Win32OpenSSL.htmlからOpenSSLをダウンロードしてインストールします(注:そのサイトから再配布可能な最初のビジュアルC ++ 208もダウンロードしてインストールしてください)
  2. インストールされているOpenSSLのbinディレクトリをWindowsパスに配置します。
  3. コマンドプロンプトを開き、C:\ Users{User_Name}.androidに移動します
  4. このコマンドをcmd" keytool-exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64 "に配置します。(https://developers.facebook.com/docs/android/getting-started#samplesを参照)
  5. 次に、パスワード「facebook」を二重引用符なしで入力します。
  6. これでハッシュキーが生成されます ここに画像の説明を入力してください
  7. 最後に、Facebook開発者サイトにアクセスします。Facebookにログインしていることを確認し、右上のドロップダウンメニューを使用して、[開発者設定]に移動します。
  8. 開発者設定になったら、左側のナビゲーションから[サンプルアプリ]を選択し、キーハッシュをプロファイルに追加して保存します。 ここに画像の説明を入力してください
于 2014-01-06T09:20:42.543 に答える
15

以下のコードを使用して、ハッシュキーを取得できます。

try {

   PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), 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) {
   Log.e("name not found", e.toString());
  } catch (NoSuchAlgorithmException e) {
   Log.e("no such an algorithm", e.toString());
  }

参照 :

http://limbaniandroid.blogspot.com/2013/04/how-to-get-hash-key-for-integarte.html

于 2014-03-23T06:27:02.427 に答える
9

物事を簡単にするために-

keytool.exe -list -alias androiddebugkey -keystore debug.keystore -v

これにより、opensslをインストールする手間をかけずに、必要なフィンガープリントを提供できます。

例えば

Certificate fingerprints:
         MD5:  1A:5E:AA:CB:1A:CF:68:F0:8B:DA:D8:BC:EE:4F:BF:EE
         SHA1: D2:89:D1:5A:BC:F8:E3:E5:62:4D:DD:20:DD:96:CD:AB:51:A1:C1:7F
         Signature algorithm name: SHA1withRSA
         Version: 3
于 2012-05-03T14:35:37.470 に答える
3

これは、キーストアからキーハッシュを取得する方法の例です。

まず、次のパスを取得する必要があります。

Javaパス: C:\ Program Files \ Java \ jdk1.6.0_35 \ jre \ bin

SSLパスを開く: C:\ OpenSSL-Win32 \ bin

(インストール元:http ://www.openssl.org/ )

キーストアパス: C:\ Data \ ANDROID \ KEYSTORE \

2)次に、コマンドラインに移動して次のように入力します。

cd[Javaパス]

3)次に、次のように入力します。

keytool.exe -exportcert-alias[エイリアス名]-keystore[キーストアパス]\debug.keystore | [SSLパスを開く]\opensslsha1 -binary | [SSLパスを開く]\bin \ opensslbase64

Hash Key4)キーストアのパスワードが必要であり、Androidキーストアに関連している必要があります。

ここに画像の説明を入力してください

これは、の設定方法のドキュメントKey HashですFacebook

https://developers.facebook.com/docs/android/getting-started#release-key-hash

于 2014-12-04T18:00:53.573 に答える
1

コマンドプロンプトウィンドウを開く必要があります。start-> runに移動し、「cmd」と入力してEnterキーを押します。次に、が存在するフォルダーに移動しkeytool(パス内にない場合)、そのコマンドを入力する必要があります。

つまり、コマンドがLinuxではなくWindows用であると想定します。

于 2010-12-03T17:07:56.233 に答える
1

最良の方法は、コードを使用してキーハッシュを生成することです。

 public static void generateKeyHash(Context context) {
    try {
        PackageInfo info = context.getPackageManager().getPackageInfo(
                "com.example.user2.testapp",
                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 (PackageManager.NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }
}

このメソッドを一度呼び出してキーハッシュを生成し、楽しんでください

于 2015-07-08T09:22:55.107 に答える
0

C:\ Program Files \ Java \ jdk1.6.0_22 \ bin \ keytool.exe -exportcert -alias"typeYouraliasname"-キーストアのキーストアの場所| C:\ OpenSSL-Win32 \ bin \ openssl sha1 -binary | C:\ OpenSSL-Win32 \ bin \ openssl base64

于 2015-08-22T11:03:16.420 に答える