it-swarm.com.de

Gibt es eine Möglichkeit, einen Schlüsselhash von einer signierten APK zu erhalten?

Gibt es eine Möglichkeit, Schlüssel-Hash von signierten APK zu bekommen? Wir haben eine signierte Android-apk-Datei, und wir möchten Schlüssel-Hash von diesem APK herausfinden, für Facebook SDK ?
Irgendwelche Vorschläge?

27
Zheng Li

Für Windows-Benutzer, die den Schlüssel von openssl erhalten, kann dies manchmal schwierig sein. Ich benutze dies immer, um das richtige .__ zu finden. Signatur .. Fügen Sie diesen Code einfach in onCreate () ein und führen Sie ihn aus. 

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

  } catch (NoSuchAlgorithmException e) {

  }

Update:

Verwenden von Android Studio (2.1.2):

  1. Öffnen Sie Ihr Projekt im Studio und klicken Sie auf das Gradle-Symbol.
  2. Wählen Sie Ihre App -> Aufgaben -> Android -> SigningReport 

Dadurch wird eine Gradle-Task ausgeführt, die das Debug- und Freigabezertifikat mit den Schlüsseln md5 und sha1 druckt

35
amalBit

Unter Linux habe ich diesen Befehl verwendet, um den Schlüsselhash von einem apk zu erhalten:

 keytool -list -printcert -jarfile [path_to_your_apk] | grep -Po "(?<=SHA1:) .*" |  xxd -r -p | openssl base64

Für Mac-Benutzer (OS X) gibt es keine Unterstützung für grep -P

keytool -list -printcert -jarfile ~/Downloads/YOURAPKFILE.apk | grep "SHA1: " | cut -d " " -f 3 | xxd -r -p | openssl base64

35
user521297

Sie können openssa von hier herunterladen

  1. Um eine Signatur zu erzeugen, muss auf Ihrem PC openssl installiert sein. Wenn Sie Keinen Opensl von hier herunterladen,
  2. Erstellen Sie in C: den Ordner openssl
  3. Extrahieren Sie den Inhalt der heruntergeladenen openssl-Zip-Datei in den Ordner openssl Im Laufwerk C:
  4. Eingabeaufforderung öffnen
  5. Wechseln Sie in der Eingabeaufforderung zur Ablage von openssl, d. H. C:\openssl\bin
  6. Führen Sie den folgenden Befehl aus, um Ihr Keyhash zu generieren. Beim Generieren von Hashkey sollte das Kennwort abgefragt werden.

    keytool -exportcert -alias androiddebugkey -keystore   "C:\Users\Anhsirk.Android\debug.keystore" | openssl sha1 -binary | openssl base64
    

NOTE: Beachten Sie, dass Sie im obigen Code Ihren Pfad zum Benutzer angeben müssen (d. H. In diesem Fall C:\Users\Anhsirk). Sie müssen dies nur für Ihr Benutzerkonto ändern.

Geben Sie das Kennwort als Android ein. Wenn Sie nicht nach einem Kennwort fragen, ist Ihr Keystore-Pfad falsch.

9
Shani Goriwal

Wenn ich meine Facebook-App erstellt habe. Ich habe meinen Android-Keystore verwendet. Dafür gibt es eine Hash-Funktion. Häufig in den Google-APIs verwendet (Anweisungen finden Sie dort). Wenn Sie die App besitzen und signiert haben; Dies sollte kein Problem sein, sonst ... Sie im Grunde verschraubt. Es gibt keinen Weg.

0
SonicWind