it-swarm.com.de

Schlüsselhash für Android-Facebook-App

Ich arbeite an einer Android-App, in die ich eine Facebook-Posting-Funktion integrieren möchte. Ich habe das Facebook-Android-SDK heruntergeladen und bekam dort die Readme.md (Textdatei), in der es erwähnt ist, den Schlüsselhash für Android zu erzeugen. Wie generiere ich es?

213
ravi babu

Hier sind die Schritte

  1. Laden Sie openssl von Google code herunter (Wenn Sie eine 64-Bit-Maschine haben, müssen Sie openssl-0.9.8e X64 nicht die neueste Version herunterladen).

  2. Extrahieren Sie es. Erstellen Sie einen Ordner - OpenSSL in C:/und kopieren Sie den extrahierten Code hier.

  3. debug.keystore-Dateipfad erkennen. Wenn Sie nicht gefunden haben, führen Sie eine Suche in C:/aus und verwenden Sie im nächsten Schritt den Befehl Pfad.

  4. ermitteln Sie den Pfad der keytool.exe und wechseln Sie zu diesem Befehl in/Eingabeaufforderung. Führen Sie diesen Befehl in einer Zeile aus.

    $ keytool -exportcert -alias androiddebugkey -keystore "C:\Dokumente und Einstellungen\Administrator.Android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 -binary | "C:\OpenSSL\bin\openssl" base64

    • es wird nach einem Passwort gefragt, setzen Sie Android
    • das ist alles. Sie erhalten einen Schlüsselhash

Für mehr Info Besuch hier

301
Avi C

Sie können diesen Code in jeder Aktivität verwenden. Es wird den Hash-Schlüssel im Logcat, dem Debug-Schlüssel, protokolliert. Dies ist einfach und erleichtert die Verwendung von SSL.

PackageInfo info;
try {
    info = getPackageManager().getPackageInfo("com.you.name", 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));
        //String something = new String(Base64.encodeBytes(md.digest()));
        Log.e("hash key", something);
    }
} catch (NameNotFoundException e1) {
    Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
    Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
    Log.e("exception", e.toString());
}

Sie können den Code löschen, nachdem Sie den Schlüssel kennen;)

224
Bassem Samy

Ich habe ein kleines Tool für Windows und Mac OS X erstellt. Werfen Sie einfach die Schlüsselspeicherdatei ein, und rufen Sie den Hash-Schlüssel ab.

Wenn Sie die Standarddatei debug.keystore verwenden möchten, verwenden Sie den Standardaliasnamen und das Kennwort. Verwenden Sie andernfalls Ihre eigene Keystore-Datei und Werte.

Schauen Sie sich die Datei an, laden Sie die Windows-Version herunter oder laden Sie die Mac OS X-Version herunter (Der Dev-Host ist manchmal inaktiv ... Wenn also der Link unterbrochen wird, PM mich und ich werde es reparieren).

Ich hoffe das hilft euch Jungs ...

31.12.2014 - EDIT: Host in AFH geändert Bitte lassen Sie mich wissen, wenn die Links beschädigt sind

21. November 2013 - EDIT:

Als Benutzer nachgefragt, fügte ich einen Standardspeicherort für den Keystore und einen DONATE-Button. Fühlen Sie sich frei, ihn zu verwenden ein, wenn ich Ihnen geholfen habe. :)

Screen shotScreen shot 2

131
Shahar

Die Anweisungen in das Android-Tutorial von Facebook funktionieren nicht gut unter Windows. Ihr Beispiel zeigt, wie die keytool-Ausgabe an openssl übergeben wird. Wenn Sie dies jedoch unter Windows versuchen, ist die Ausgabe aus irgendeinem Grund nicht gültig. Ich stellte fest, dass ich Zwischendateien verwenden musste, damit es richtig funktioniert. Hier sind die Schritte, die für mich gearbeitet haben:

Beginnen Sie mit dem Herunterladen von openssl für Windows von Google.

C:\Users\Me>keytool -exportcert -alias my_key -keystore my.keystore -storepass PASSWORD > mycert.bin

C:\Users\Me>openssl sha1 -binary mycert.bin > sha1.bin

C:\Users\Me>openssl base64 -in sha1.bin -out base64.txt

Nach dem Ausführen dieser Befehle wird der gültige Hash in der Datei base64.txt gespeichert. Kopieren Sie diese und fügen Sie sie in Ihre App-Einstellungen bei Facebook ein.

59
Bryan Bedard

Dies ist, was auf der offiziellen Seite von Facebook gegeben wird:

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

Lassen Sie mich diesen Befehl in Fragmente aufteilen.

  1. Suchen Sie nach "keytool.exe". Sie können das auf Laufwerk C: suchen. Sie finden es in "Java jdk" oder "Java jre". Wenn Sie mehrere Versionen installiert haben, wählen Sie eine aus.

  2. Öffnen Sie eine CMD-Eingabeaufforderung und wechseln Sie in das Verzeichnis, in dem Sie "keytool.exe" gefunden haben.

    Schneiden Sie das "exe" ab und fügen Sie den obigen Befehl auf der Facebook-Seite ein.

  3. Bei der Eingabe dieses Befehls wird ein Fehler angezeigt, dass OpenSSL nicht wie im Eingabe-Ausgabebefehl erkannt wird .. Lösung: Laden Sie "Openssl" von OpenSSL herunter (wenn Sie eine 64-Bit-Maschine haben, müssen Sie herunterladen openssl-0.9.8e X64 ). Entpacke und speichere es überall ... Ich habe es auf dem Laufwerk C: im Ordner OpenSSl gespeichert

  4. Ersetzen Sie das openssl im obigen Befehl, in dem Sie einen Fehler von OpenSSL erhalten haben, durch "C:\OpenSSL\bin\openssl" an beiden Stellen nach der Pipe "|".

  5. Wenn Sie zur Eingabe eines Kennworts aufgefordert werden, geben Sie Android ein.

Und Sie erhalten Ihren Hash-Schlüssel. Weitere Schritte finden Sie erneut auf der Facebook-Seite.

47
DeltaCap019

Wenn Sie diesen Code zu onCreate Ihrer Aktivität hinzufügen, wird der Hash unter dem Tag KeyHash in Ihrem logCat gedruckt

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) {

}
catch (NoSuchAlgorithmException e) {

}

Sie können mehrere Hashkeys für Ihr Konto hinzufügen. Wenn Sie also im Debug-Modus ausgeführt haben vergessen Sie nicht, dies im Release-Modus erneut auszuführen.

32
Ilya Gazman

Gehen Sie folgendermaßen vor, um den Android-Schlüssel-Hashcode zu erhalten:

  1. Laden Sie OpenSSL für Windows hier herunter.
  2. Jetzt entpacken Sie das Laufwerk C:
  3. Öffnen Sie eine CMD-Eingabeaufforderung
  4. Typ cd C:\Program Files\Java\jdk1.6.0_26\bin
  5. Geben Sie dann nur keytool -export -alias myAlias -keystore C:\Users\ihr Benutzername \.Android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e ein. 
  6. Erledigt
23
noelyahan

Die einfachste Lösung, die ich gefunden habe, ist folgende:

  • Öffne Log Cat 
  • Versuchen Sie, mit dem Android SDK auf Facebook zuzugreifen 
  • Suchen Sie nach der Zeile im Protokoll, die folgendermaßen aussieht:

    04-24 01:14:08.605: I/System.out(31395): invalid_key:Android key mismatch. 
    Your key "abcdefgHIJKLMN+OPqrstuvwzyz" does not match the allowed keys specified in your
    application settings. Check your application settings at 
    http://www.facebook.com/developers
    
  • Kopiere "abcdefgHIJKLMN + OPqrstuvwzyz" und füge es in den Facebook Android Key Hash-Bereich ein.

14
Ron

Ich habe dies für Linux OS & Windows OS getan:

Linux:

  • Öffnet OpenSl
  • Terminal öffnen
  • keytool -exportcert -alias **myaliasname** -keystore **/home/comp-1/Desktop/mykeystore.jks** | openssl sha1 -binary | openssl base64

Bitte ändern Sie Aliasname und Keystore mit dem Pfad als Anforderung.

Das Terminal würde ask für Passwort des Keystore eingeben. Sie müssen Kennwort angeben für dasselbe Keystore eingeben.

So erhalten Sie schließlich den Release Hashkey.

Windows:

Schritte für ReleaseHashkey:

  • Openssl herunterladen (Download von hier ), das ich für 64 Bit OS heruntergeladen habe, mehr hier
  • Extrahieren Sie die heruntergeladene ZIP-Datei nur nach Laufwerk C: \
  • Öffnen Sie die Eingabeaufforderung
  • keytool -exportcert -alias **myaliasname** -keystore **"C:\Users\hiren.patel\Desktop\mykeystore.jks"** | "C:\openssl-0.9.8e_X64\bin\openssl.exe" sha1 -binary | "C:\openssl-0.9.8e_X64\bin\openssl.exe" base64

Bitte ändern Sie Aliasname und Keystore mit dem Pfad als Anforderung.

Hinweis:

Bitte geben Sie Ihre Daten dort ein, wo ich zwischen ** **. Markiert habe.

Das Terminal würde ask für Passwort des Keystore eingeben. Sie müssen Kennwort angeben für dasselbe Keystore eingeben.

So erhalten Sie schließlich den Release Hashkey.

Erledigt

12
Hiren Patel
  • laden Sie hier openSSL für Windows herunter 64bit und 32bit finden Sie hier

  • extrahiere die heruntergeladene Datei

  • erstellen Sie den Ordnernamen openSSL im Laufwerk C
  • kopiere alle extrahierten Elemente in den openSSL-Ordner (bin, include, lib, openssl.cnf)
  • holen Sie sich den Android-Debug-Keystore. Der Standardspeicherort ist 

C:\Benutzer\Benutzername\.Android\debug.keystore

  • holen Sie sich jetzt Ihre Eingabeaufforderung und fügen Sie diesen Code ein 

keytool -exportcert -alias androiddebugkey -keystore C:\Benutzer\Benutzername.Android\debug.keystore | "C:\openSSL\bin\openssl" sha1 -binary | "C:\openSSL\bin\openssl" base64

  • wenn Sie die Eingabetaste drücken, erhalten Sie den 28-stelligen Schlüsselcode
10
Ashana.Jackol

Sie müssen einen Schlüsselspeicher mit dem keytool für signierte Apps für Android erstellen, wie in Android Site beschrieben. Anschließend müssen Sie cygwin installieren und anschließend openssl von google code installieren Wenn Sie den folgenden Befehl ausführen, erhalten Sie den Hash-Schlüssel für Android und geben diesen Hash-Schlüssel in die von Ihnen erstellte Facebook-Anwendung ein. Und dann können Sie auf die Facebook-Anwendung über die Android-Anwendung zugreifen, um eine Pinnwand ("publish_stream") zu erstellen.

$ keytool -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1 -binary | openssl base64

Sie müssen den obigen Befehl von cygwin ausführen.

6
hossaindoula
  1. Öffnen Sie einfach Ihre Hauptaktivitätsdatei und erstellen Sie die unten genannte Erwähnungsfunktion:

         try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "your.application.package.name",
                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) {
     }
    

1.1 Führen Sie Ihre Anwendung aus. Dadurch wird ein Hash-Schlüssel für Ihre Anwendung generiert.

  1. Öffnen Sie nun log cat und suchen Sie mit "KeyHash" und kopieren Sie den Hash-Schlüssel.

  2. Wenn Sie den Hash-Schlüssel generieren, können Sie diese Funktion entfernen. 

6
mohit sharma

Laden Sie openSSL -> Install it -> herunter, das normalerweise inC installiert wird:\OpenSSL

dann öffne cmd und tippe

cd../../Program Files (Enter)

Java (Enter)

dir (Enter)

cd jdk1.6.0_17 (varies with jdk versions) (Enter)

um die jdk-Version zu überprüfen, gehen Sie zu C:/program files/Java/jdk_version

cd bin (enter)

keytool -exportcert -alias androiddebugkey -keystore C:Users\Shalini\.Android\debug.keystore | "C:\OpenSSL\bin\openssl sha1 -binary | "C:\OpenSSL\bin\openssl base64 (Enter)

Sie werden nach einem Kennwort gefragt, bei dem es sich um Android handelt.

6
Maniya Joe

1) Erstellen Sie einen Schlüssel zum Signieren Ihrer Anwendung und merken Sie sich den Alias.

2) Installieren Sie OpenSSL.

3) Fügen Sie den bin-Ordner von OpenSSL in Ihren Pfad ein.

4) Folgen Sie den Schritten unter "Single Sign-On einrichten" auf dem FB-Android-SDK Seite und generieren Sie Ihren Hash-Schlüssel. Vergewissern Sie sich, dass Sie den korrekten Alias- und Keystore-Dateinamen eingeben.

5) Erstellen Sie eine Anwendung auf Facebok und geben Sie auf der Registerkarte Mobile Devices diesen Hash-Schlüssel ein.

5

Offizielle Dokumentation auf Facebook Entwicklerseite

@Override
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) {

    }
5
Hardik Thaker

Für Linux

Offenes Terminal: 

Für Debug Build

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

sie finden den Ordner debug.keystore aus dem Ordner ".Android", kopieren ihn und fügen ihn auf dem Desktop ein

Für Release Build

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

HINWEIS: Stellen Sie sicher, dass in beiden Fällen das Kennwort abgefragt werden muss. Wenn Sie nicht nach einem Kennwort gefragt werden, bedeutet dies, dass der Befehl fehlerhaft ist.

4
Biraj Zalavadia
keytool -exportcert -alias androiddebugkey -keystore       C:\Users\pravin\.Android\debug.keystore | "H:\OpenSSL\bin\openssl" sha1 -binary | "H:\OpenSSL\bin\openssl" base64

Das hat für mich funktioniert ...

Schritte:

1) Open command line go to - > Java Keytool..... for me C:\Program Files\Java\JDK1.7\bin
2) Download OpenSSL from google
3) paste this with changing your paths -
   keytool -exportcert -alias androiddebugkey -keystore C:\Users\pravin\.Android\debug.keystore | "H:\OpenSSL\bin\openssl" sha1 -binary | "H:\OpenSSL\bin\openssl" base64 

    ....................   give proper debug.keystore path and openSSL path .. 

4) Finley it may be ask u password .. so give password -> Android   ...
5) you will get 28 characters that will be your has key
4
Pravin Mohol

Für eine Android-Anwendung

Dieser Code wird verwendet, um den Hash-Schlüssel in Ihrer Android-Anwendung für die Facebook-Integration abzurufen. Ich habe alle Geräte getestet und es funktioniert. Ändern Sie nur den Paketnamen dieses Codes:

private void facebookHashKey() {

    try {
        PackageInfo info = getPackageManager().getPackageInfo("com.app.helpcove", PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            String hashCode  = Base64.encodeToString(md.digest(), Base64.DEFAULT);
            System.out.println("Print the hashKey for Facebook :"+hashCode);
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }
}
3
Ramkailash

Als antwortete zu einem ähnlichen Thema habe ich festgestellt, dass dies für mich arbeitet:

  • Kopieren Sie die apkname.apk-Datei, von der Sie den Hash erfahren möchten, in den Ordner "Java\jdk1.7.0_79\bin"
  • Führen Sie diesen Befehl aus keytool -list -printcert -jarfile apkname.apk
  • Kopieren Sie den SHA1-Wert und konvertieren Sie ihn mithilfe dieser site
  • Verwenden Sie den konvertierten Keyhash-Wert (ex. ZaHqo1xcaPv6CmvlWnJk3SaNRIQ =).

Um einen Hash des Freigabeschlüssels zu generieren, führen Sie den folgenden Befehl unter Mac oder Windows aus, wobei Sie den Freigabeschlüsselaliasnamen und den Pfad zum Keystore verwenden. 

Verwenden Sie unter Windows:

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

Dieser Befehl sollte eine Zeichenkette mit 28 Zeichen erzeugen. Denken Sie daran, dass COPY und PASTE diesen Freigabeschlüssel in die Android-Einstellungen Ihrer Facebook-App-ID einbinden.

image: fbcdn-dragon-a.akamaihd.net/hphotos-ak-xpa1/t39.2178-6/851568_627654437290708_1803108402_n.png

Siehe unter: https://developers.facebook.com/docs/Android/getting-started#release-key-hash und http://note.taable.com

3
HTML5 developer

Die einfachste Lösung:

  1. Fügen Sie nicht den Hash-Schlüssel hinzu, implementieren Sie alles andere
  2. Wenn das Facebook-Login gedrückt wird, erhalten Sie die Fehlermeldung "Ungültiger Schlüsselhash. Der Schlüsselhash" xxx "stimmt mit keinem gespeicherten Schlüssel überein. ..."
  3. Öffnen Sie das Facebook-App-Dashboard und fügen Sie den Hash "xxx =" hinzu ("xxx" -Hash vom Fehlerzeichen "+" = ").
2
Singed

Am besten verwenden Sie den folgenden Code:

private void getHashKey(String pkgName)
{
    try
    {
        PackageInfo info = getPackageManager().getPackageInfo(pkgName, PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures)
        {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            String hashKey = Base64.encodeBytes(md.digest());
            _hashKey_et.setText(hashKey);
            Log.i("KeyTool", pkgName + " -> hashKey = " + hashKey);
        }
    }
    catch (NameNotFoundException e)
    {
        e.printStackTrace();
    }
    catch (NoSuchAlgorithmException e)
    {
        e.printStackTrace();
    }
}

Ich war jedoch so frustrierend, dass es kein einfaches Werkzeug gibt, um den HashKey für die Facebook-App zu generieren. Jedes Mal musste ich mit Openssl und Keytool spielen oder einen Code verwenden, um den Hash von der Signatur zu bekommen ...

Also habe ich ein einfaches KeyGenTool geschrieben, das diese Arbeit für Sie erledigt:  -> KeyGenTool bei Google Play <-

Genießen :)

1
AivarsDa

Verwenden Sie diesen Befehl, wenn Sie ssl im Laufwerk c und im Ordner openssl geöffnet halten.

keytool -exportcert -alias androiddebugkey -keystore "C:\Users\AJAY SUNDRIYAL.Android\debug.keystore" | openssl sha1 -binary | openssl base64
1
SANJAY GUPTA

Ich habe einen kleinen Fehler gemacht, den man sich merken sollte. Wenn Sie Ihren Keystore verwenden, geben Sie Ihren Aliasnamen an, nicht androiddebugkey ...

Ich habe mein Problem gelöst. Wenn jetzt Facebook auf meinem Gerät installiert ist, erhält meine App immer noch Daten zur Facebook-Login-Integration. Kümmere dich nur um deinen Hash-Schlüssel.

Siehe unten.

C:\Program Files\Java\jdk1.6.0_45\bin>keytool -exportcert -alias here your alias name  -keystore "G:\yourkeystorename.keystore" |"G:\ssl\bin\openssl" sha1 -binary | "G:\ssl\bin\openssl" base64

Dann drücken Enter - Es fragt Sie nach dem Passwort und gibt dann Ihr Keystore-Passwort ein, nicht Android.

Cool.

1
Pravin Mohol

Für Leute, die nicht wissen, wie man schreibt, ist AivarsDas wichtigstes Gen-Tool für Google Play die einfachste Lösung. Holen Sie sich einfach den Hash-Schlüssel und kopieren Sie ihn in die Facebook-App-Einstellungen. Die Freigabe des Keygen-Tools führt dazu, dass meine App auf meinem Handy abstürzt. Daher habe ich sie einfach manuell in den Editor eingegeben und in fb kopiert. Endlich diesen Schritt nach Tagen der Frustration hinter sich

0
Undra Bailey
import Java.security.MessageDigest;
import Java.security.NoSuchAlgorithmException;

import Android.os.Bundle;
import Android.app.Activity;
import Android.content.pm.PackageInfo;
import Android.content.pm.PackageManager;
import Android.content.pm.PackageManager.NameNotFoundException;
import Android.content.pm.Signature;
import Android.text.Editable;
import Android.util.Base64;
import Android.util.Log;
import Android.view.Menu;
import Android.view.View;
import Android.view.View.OnClickListener;
import Android.widget.Button;
import Android.widget.EditText;

public class MainActivity extends Activity {

    Button btn;
    EditText et;
    PackageInfo info;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn=(Button)findViewById(R.id.button1);
        et=(EditText)findViewById(R.id.editText1);
        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                try {
                    info = getPackageManager().getPackageInfo("com.example.id", 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));
                        //String something = new String(Base64.encodeBytes(md.digest()));
                        et.setText("" + something);
                        Log.e("hash key", something);
                    }
                } catch (NameNotFoundException e1) {
                    Log.e("name not found", e1.toString());
                } catch (NoSuchAlgorithmException e) {
                    Log.e("no such an algorithm", e.toString());
                } catch (Exception e) {
                    Log.e("exception", e.toString());
                }
            }
        });
    }



}
0
Anil Bhatiya

Für Windows:- 

1.Download openssl(openssl-for-windows)
2.Copy and Paste openssl folder into c drive.
3.C:\Android\.Android\debug.keystore => Debug Keystore path
4.C:\Program Files\Java\jdk1.8.0_181 => JDK PATH
5.Go to jdkpath=>Enter the below command. (keytool inside Debug keystore path)  

keytool -exportcert -alias androiddebugkey -keystore C:\Android.android\debug.keystore | "C:\openSSL\bin\openssl" sha1 -binary | "C:\openSSL\bin\openssl" base64

0
priyanga

Ich habe versucht, den Key Hash mit keytool zu generieren, und irgendwie ist der generierte Hash nicht der gültige.

Sie sparen Zeit und Mühe, wenn Sie es nur von packageManager selbst bekommen können.

try {
    val info = this.packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES)
    for (signature in info.signatures) {
        MessageDigest.getInstance("SHA").apply {
            update(signature.toByteArray())
            Log.d("KeyHash:", Base64.encodeToString(digest(), Base64.DEFAULT))
        }
    }
} catch (e: PackageManager.NameNotFoundException) {
    Log.d("KeyHash Exception:", "${e.message}")
} catch (e: NoSuchAlgorithmException) {
    Log.d("KeyHash Exception:", "${e.message}")
}
0
Delacrix Morgan

Um Ihren Schlüssel-Hash auf Ihrem lokalen Computer zu generieren, führen Sie zunächst das Java-Hilfsprogramm keytool (das sich im Pfad Ihrer Konsole befindet) mit dem Android-Debug-Keystore aus. Dies ist standardmäßig in Ihrem Home-Verzeichnis .Android). 

auf Ubuntu, es wacht in meinem Computer

keytool -exportcert -alias androiddebugkey -keystore ~/.Android/debug.keystore | openssl sha1 -binary | openssl base64
0
Jamshid

Verwenden Sie dies für den Druckschlüssel-Hash in Kotlin

try {
        val info = context.getPackageManager().getPackageInfo(context.packageName,
                PackageManager.GET_SIGNATURES);
        for (signature in info.signatures) {
            val md = MessageDigest.getInstance("SHA")
            md.update(signature.toByteArray())
            Log.d("Key hash ", Android.util.Base64.encodeToString(md.digest(), Android.util.Base64.DEFAULT))
        }
    }catch (e:Exception){

    }
0
Prashant Jajal