Jak mogę uzyskać odcisk cyfrowy MD5 z Keytool Javy, a nie tylko SHA-1?

105

Ponieważ chcę używać map Google w mojej aplikacji, potrzebuję odcisku cyfrowego MD5 certyfikatów debugowania. Próbowałem śledzić .:

(Tutaj skopiowałem plik debug.keystore z C: \ Documents and Settings \ Administrator.android w folderze bin)

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

Ale otrzymałem następujące wyniki:

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

Jednak to nie działa, aby uzyskać klucz MAP API. Czy SHA1 jest tym samym, co MD5?

Co mam zrobić, aby otrzymać certyfikat MD5?

Prachi Kshirsagar
źródło

Odpowiedzi:

189

Po zainstalowaniu JDK 1.7 keytool zawsze wyświetla domyślnie odcisk palca SHA1, a nie MD5. możesz uzyskać certyfikat MD5, dodając opcję -v.

użyj następującego kodu: -

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

wyświetli również certyfikat MD5.

Ankit Saxena
źródło
7
Dzięki, opcja -v zrobiła to za mnie
Joseph Earl
Teraz proces MD5 i sha1 zmienił się w Google Po otrzymaniu MD5 tutaj. Musimy uzyskać klucz API z konsoli Google API w prawo. dzięki chłopaki
Crishnan Iyengar
@ Ankit-Saxena - Czy możesz odpowiedzieć na ten stackoverflow.com/questions/55336382/ ... -v opcja nie działa ze mną.
v1h5
25

Aby uzyskać wartość MD5 i SHA1 ... itd., Odłóż to poniżej:

Wcześniej nie zapomnij skopiować pliku debug.keystore do folderu Androidkeystore, takiego jak utworzony na dysku C.

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

pyta tutaj .. Wprowadź hasło magazynu kluczy: android

wpisz masz tutaj 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

UWAGA: jeśli ścieżka katalogu zawiera spacje, MUSISZ ująć ją w cudzysłów. np. użyj tego formatu:

-keystore "C: \ Users \ Your Name \ .android \ debug.keystore"

Crishnan Iyengar
źródło
3
@AnkitSaxena Ta odpowiedź jest lepsza i pomogła mi, więc nie powstrzymuj nikogo przed udzielaniem alternatywnej odpowiedzi z innymi informacjami. Dzięki K.krishnan za tę odpowiedź +1
Onimusha
6

Jeśli używasz jdk 7:

Użyj opcji -v.

fjs
źródło
1
Zwróć uwagę na datę zadania tego pytania. Nie odpowiadaj na stare pytania, chyba że uważasz, że masz lepszą odpowiedź.
Riking
Zrobiłem to, ponieważ rozwiązałem mój problem. I właśnie teraz mam problem. Chciałem tylko coś zostawić, jeśli teraz ktoś będzie miał ten sam problem. Przy okazji dzięki za minus 2 punkty. :(
fjs
5

Dodaj -v

zaraz po keytooli przed-list

keytool -v -list
czarodziej
źródło
3

skopiuj plik „debug.keystore” do c:\ lub jakiegoś folderu

spróbuj iść c:\Program Files\Java\jdk1.6.25\bin folder i wprowadzić

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

hasło to „android”

feniks
źródło
3

Flaga -v daje również certyfikat SHA1. Bez tej flagi otrzymasz tylko odcisk palca MD5.

Karan Kalra
źródło
3

Najłatwiejszym sposobem na uzyskanie SHA 1, MD 5 jest kliknięcie Gradle w prawym górnym rogu, w pobliżu rogu ekranu Android Studio. Następnie kliknij nazwę aplikacji (np. Android123 (root) : powinna wyglądać tak). Następnie znajdziesz podfolder o nazwie android i kliknij go, aby przejść do raportu podpisywania . Powinien uruchomić się w konsoli i pokazać SHA 1, MD 5. Mam nadzieję, że to pomoże.

Sk Saqlain Ali
źródło
Dziękuję Ci! Wszystkie inne odpowiedzi nie działały dla mnie, ale ta zadziałała.
Yuri Reis
2

Rozwiązałem problem w systemie Windows 8, otwierając wiersz polecenia (administrator), a następnie wpisując:

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

Następnie przejdź do https://code.google.com/apis/console/

Gdy przeszli na nowy interfejs, musisz przejść do zakładki APIs & auth po lewej stronie, a następnie przejść do Registered Apps , wybrać istniejący klucz API, aby go zastąpić lub utworzyć nowy, używając wygenerowanego wcześniej kodu SHA1.

Tak to działało.


źródło
1

Po prostu wyeksportuj swój projekt za pomocą magazynu kluczy w zaćmieniu, a w ostatnim kroku otrzymasz zarówno SHA-1, jak i MD-5.

wprowadź opis obrazu tutaj

Spójrz na to pytanie, aby uzyskać więcej informacji.

Akszat
źródło