Wie kann ich den MD5-Fingerabdruck von Javas Keytool erhalten, nicht nur von SHA-1?


105

Da ich Google Maps in meiner Anwendung verwenden möchte, benötige ich den MD5-Fingerabdruck der Debug-Zertifikate. Ich habe versucht folgendes zu tun:

(Hier habe ich die Datei debug.keystore aus C: \ Dokumente und Einstellungen \ Administrator.android in den Ordner bin kopiert.)

C:\Program Files\Java\jdk1.7.0\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

Habe aber folgende Ergebnisse erzielt:

androiddebugkey, May 27, 2011, PrivateKeyEntry,Certificate fingerprint (SHA1): "some code"

Dies funktioniert jedoch nicht, um den MAP-API-Schlüssel abzurufen. Ist SHA1 dasselbe wie MD5?

Was muss ich tun, um das MD5-Zertifikat zu erhalten?

Antworten:


189

Wenn JDK 1.7 installiert ist, gibt keytool standardmäßig den SHA1-Fingerabdruck aus, nicht MD5. Sie können das MD5-Zertifikat erhalten, indem Sie die Option -v hinzufügen.

Verwenden Sie den folgenden Code: -

C:\Program Files\Java\jdk1.7.0\bin>keytool -v -list -alias
androiddebugkey -keystore debug.keystore -storepass android -keypass android

Es wird auch ein MD5-Zertifikat ausgegeben.


7
Danke, die Option -v hat es für mich getan
Joseph Earl

Jetzt hat der MD5- und sha1-Prozess Google geändert. Nachdem wir MD5 hier haben, müssen wir den API-Schlüssel von der Google API-Konsole richtig abrufen. danke Jungs
Crishnan Iyengar

@ Ankit-Saxena - Können Sie bitte diese Option beantworten ? Stackoverflow.com/questions/55336382/… -v funktioniert bei mir nicht.
v1h5

25

Um den MD5-Wert und SHA1 ... usw. zu erhalten, gehen Sie wie folgt vor:

Vergessen Sie vorher nicht, den debug.keystore in einen Androidkeystore-Ordner zu kopieren, wie er im Laufwerk C erstellt wurde.

C:\Program Files\Java\jdk1.7.0_05\bin>keytool -v -list -keystore C:\Androidkeyst
ore\debug.keystore

es fragt hier .. Geben Sie das Keystore-Passwort ein: android

Geben Sie ein, Sie haben hier MD5 & SHA1..etc

Keystore type: JKS
Keystore provider: SUN

Your keystore contains ? entry

Alias name: androiddebugkey
Creation date: ?? ???, ????
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[?]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 67b6344b
Valid from: Mon Jun 18 20:33:56 IST 2012 until: Wed Jun 11 20:33:56 IST 2042
Certificate fingerprints:
         MD5:  C2:61:51:3E:BC:C8:0C:DB:75:B6:E7:C4:90:AD:91:39
         SHA1: CD:5E:8A:0F:4E:0F:2E:FD:92:5E:5E:4R:CF:F8:44:33:2C:8C:B8:97
         SHA256: B5:BF:75:60:DB:62:09:49:F1:38:CH:49:18:22:18:95:03:C9:5C:14:F6:
B0:F4:21:D2:19:B8:FF:38:D2:B9:FD
         Signature algorithm name: SHA256withRSA

HINWEIS: Wenn der Verzeichnispfad Leerzeichen enthält, MÜSSEN Sie ihn in Anführungszeichen setzen. zB dieses Format verwenden:

-keystore "C: \ Benutzer \ Ihr Name \ .android \ debug.keystore"


3
@AnkitSaxena Diese Antwort ist besser und hat mir geholfen. Bitte hindern Sie niemanden daran, eine alternative Antwort mit anderen Informationen bereitzustellen. Danke K.krishnan für diese Antwort +1
Onimusha

6

Wenn Sie jdk 7 verwenden:

Verwenden Sie die Option -v.


1
Bitte beachten Sie das Datum, an dem diese Frage gestellt wurde. Beantworten Sie keine alten Fragen, es sei denn, Sie glauben, dass Sie eine bessere Antwort haben.
Riking

Ich habe es einfach gemacht, weil es mein Problem gelöst hat. Und ich habe gerade das Problem bekommen. Ich wollte nur etwas hinterlassen, wenn jetzt jemand das gleiche Problem hat. Übrigens danke für die minus 2 Punkte. :(
fjs

5

hinzufügen -v

gleich nach keytoolund vor-list

keytool -v -list

3

Kopieren Sie die Datei 'debug.keystore' in c:\ einen Ordner oder einen Ordner

Sie versuchen zu gehen c:\Program Files\Java\jdk1.6.25\bin folder und einzugeben

c:\Program Files\Java\jdk1.6.25\bin>keytool -list -keystore c:\debug.keystore

Passwort ist "Android"


3

Das Flag -v gibt auch die SHA1-Zertifizierung an. Ohne dieses Flag erhalten Sie nur den MD5-Fingerabdruck.


3

Der einfachste Weg, um SHA 1, MD 5 zu erhalten, besteht darin, oben rechts in der Nähe der Bildschirmecke von Android Studio auf Gradle zu klicken. Klicken Sie dann auf den Namen der App (zB android123 (root) : es sollte so aussehen). Danach finden Sie einen Unterordner mit dem Namen android. Wenn Sie darauf klicken, wird der Signaturbericht angezeigt. Er sollte in der Konsole ausgeführt werden und Ihnen SHA 1, MD 5 anzeigen. Ich hoffe, er hilft.


Danke dir! Alle anderen Antworten haben bei mir nicht funktioniert, aber diese hat funktioniert.
Yuri Reis

2

Ich habe das Problem in Windows 8 gelöst, indem ich die Eingabeaufforderung (Admin) geöffnet und dann Folgendes eingegeben habe:

C:\Program Files (x86)\Java\jre7\bin>keytool -v -list -keystore C:\<Your Path>\<Your Keystore>

Gehen Sie danach einfach zu https://code.google.com/apis/console/

Wenn sie zu einer neuen Benutzeroberfläche geändert wurden, müssen Sie auf der linken Seite zur Registerkarte APIs & Auth gehen und dann zu Registerkarte Registrierte Apps gehen , Ihren vorhandenen API-Schlüssel auswählen, um ihn zu ersetzen, oder einen neuen erstellen, indem Sie den zuvor generierten SHA1-Code verwenden.

So habe ich es zum Laufen gebracht.



1

Exportieren Sie einfach Ihr Projekt mit Ihrem Keystore in Eclipse und im letzten Schritt erhalten Sie sowohl SHA-1 als auch MD-5.

Geben Sie hier die Bildbeschreibung ein

Schauen Sie sich diese Frage für weitere Details an.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.