it-swarm.com.de

Hash-Schlüssel für App mithilfe von Facebook-SDK erstellen

Ich verwende facebook sdk, um sich in meine Anwendung einzuloggen. Die Anwendung läuft auf HTC-Geräten einwandfrei. Die Anwendung funktioniert auch auf Samsung-Geräten, wenn keine vorinstallierte Facebook-App installiert ist.

Wenn es jedoch bereits eine Facebook-App auf dem Handy gibt und der Benutzer meine App installiert, ist der Benutzer nie angemeldet .. __ Soweit ich weiß, glaube ich, dass dies ein Problem der einmaligen Anmeldung ist, und ich denke, dass dies etwas ist in Verbindung mit dem Erzeugen des richtigen Anwendungs-Hash-Schlüssels und der Verwendung des Hash-Schlüssels in der Facebook-Anwendung, mit der ich mich bei der mobilen App angemeldet habe.

Bitte leite mich, wie ich den Hash-Schlüssel erstellt Ich laufe Ubuntu 10.4.

Wenn ich diesen Befehl im Terminal ausführe: -

keytool -exportcert -alias <your keystore alias name>.keystore -keystore ~/.Android/<your keystore name>.keystore | openssl sha1 -binary | openssl base64

Ich werde nie nach einem Passwort gefragt, obwohl ich den Hash-Schlüssel erhalten habe.

31
abhishek

Versuche dies:

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

Ich hoffe du wirst es bekommen. Ich habe es gerade überprüft und bekam die Aufforderung zur Eingabe eines Passworts.

61
Lavanya

Mit diesem Codeblock können Sie einen Hash-Schlüssel generieren. Fügen Sie diesen Codeblock in Ihre onCreate () - Methode ein.

try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "Your package name", 
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("Your Tag", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }
46
ACengiz

Geben Sie einfach den Befehl als:

keytool -exportcert -alias androiddebugkey -keystore debug.keystore

und geben Sie das Tastaturkennwort oder Android oder geben Sie ein

Hier müssen Sie bis ".Android" in die Verzeichnisstruktur gehen und dann diesen Befehl ausführen. Im Allgemeinen lautet der Pfad C:\Users\User-name\.Android>.

3
rishi

Wenn Sie nicht zur Eingabe eines Kennworts aufgefordert werden, öffnen Sie zunächst Ihr Terminal und geben Sie Folgendes ein:

Sudo apt install openjdk-8-jre-headless

Folgen Sie dann der regulären Methode, geben Sie einfach Folgendes ein:

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

Für das Passwort setzen Sie: AndroidSie sind fertig.

Diese Antwort dient nur zu Debug-Zwecken. Verwenden Sie zum Freigeben Ihre .jks-Datei, um einen Hash-Schlüssel zu generieren.

2
Rishabh Chandel

Überprüfen Sie drei Teile in Ihrer Umgebung.

  1. wo ist "debug.keystore" ?

    / -name "debug.keystore" finden 

    wenn Sie es nicht finden können, überprüfen Sie Eclipse oder ADT.

  2. was ist Aliasname

    keytool -list -v -keystore "PATH_TO_DEBUG_KEYSTORE"

  3. Überprüfen Sie, ob openssl installiert ist. 

    openssl

Wenn alles fertig ist, sollte es zur Eingabe des Passworts aufgefordert werden

2
Kislingk
C:\openssl\bin>keytool -exportcert -alias aliasName -keystore "C:\Users\s\.Android\debu
g.keystore" | "C:\openssl\bin\openssl" sha1 -binary | "C:\openssl\bin\openssl" b
ase64
Enter keystore password:  Android
GEYtOJobR4NzuxX4iOl/yR6sla4=
0
vikash sain