MD5 parmak izini yalnızca SHA-1'den değil, Java'nın anahtar aracından nasıl alabilirim?


105

Uygulamamda Google haritalarını kullanmak istediğim için, hata ayıklama sertifikalarının MD5 parmak izine ihtiyacım var. Aşağıdakileri denedim .:

(Burada debug.keystore dosyasını, bin klasöründeki C: \ Documents and Settings \ Administrator.android'den kopyaladım)

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

Ancak şu sonuçları aldı:

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

Ancak bu MAP API anahtarını almak için çalışmıyor. SHA1, MD5 ile aynı mı?

MD5 sertifikasını almak için ne yapmalıyım?

Yanıtlar:


189

JDK 1.7 yüklüyken, keytool her zaman varsayılan olarak SHA1 parmak izi verir, MD5 değil. -v seçeneğini ekleyerek MD5 Sertifikasını alabilirsiniz.

aşağıdaki kodu kullanın: -

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

MD5 sertifikası da verecektir.


7
Teşekkürler, -v seçeneği benim için yaptı
Joseph Earl

Şimdi MD5 & sha1 süreci Google'da değişti MD5'i burada aldıktan sonra. API anahtarını Google API konsolundan doğru almamız gerekiyor. teşekkürler çocuklar
Crishnan Iyengar

@ Ankit-Saxena - Bu stackoverflow.com/questions/55336382/… 'ye cevap verir misiniz lütfen -v seçeneği benimle çalışmıyor.
v1h5

25

MD5 değerini ve SHA1 ... vb. Almak için aşağıya bakalım:

Bundan önce debug.keystore'u C sürücüsünde oluşturulan gibi bir Androidkeystore klasörüne kopyalamayı unutmayın.

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

burada sorulur .. Anahtar deposu şifresini girin: android

buraya girin 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

NOT: dizin yolunda boşluk varsa, onu tırnak içine almanız GEREKİR. örneğin şu biçimi kullanın:

-keystore "C: \ Kullanıcılar \ Adınız \ .android \ debug.keystore"


3
@AnkitSaxena Bu cevap daha iyi ve bana yardımcı oldu, bu yüzden lütfen kimsenin farklı bilgilerle alternatif bir cevap vermesine engel olmayın. Bu cevap için teşekkürler K.krishnan +1
Onimusha

6

Jdk 7 kullanıyorsanız:

-V seçeneğini kullanın.


1
Lütfen bu sorunun sorulduğu tarihi not edin. Daha iyi bir cevabınız olduğunu düşünmeden eski soruları cevaplamayın.
Riking

Bunu sadece sorunumu çözdüğü için yaptım. Ve şimdi sorunu anladım. Şimdi aynı problemi olan biri gelirse bir şey bırakmak istedim. Bu arada eksi 2 puan için teşekkürler. :(
fjs

5

Ekle -v

hemen sonra keytoolve önce-list

keytool -v -list

3

'debug.keystore' dosyasını c:\ veya bir klasöre kopyalayın

gitmeyi c:\Program Files\Java\jdk1.6.25\bin folder ve girmeyi dene

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

şifre 'android'


3

-V bayrağı SHA1 sertifikasını da verir. Bu bayrak olmadan yalnızca MD5 parmak izini alırsınız.


3

SHA 1, MD 5'i almanın en kolay yolu , Android Studio ekranının köşesine yakın sağ üst tarafta bulunan Gradle'a tıklamaktır. Ardından uygulamanın adını tıklayın (örn. Android123 (root) : böyle görünmelidir). Bundan sonra, android adlı bir alt klasör bulacaksınız ve üzerine tıklayarak signingReport'a gidin . Konsolda çalışmalı ve size SHA 1, MD 5'i göstermelidir. Umarım yardımcı olur.


Teşekkür ederim! Diğer tüm cevaplar benim için işe yaramadı, ama bu işe yaradı.
Yuri Reis

2

Windows 8'de Komut İstemi'ni (Yönetici) açarak sorunu çözdüm ve ardından şunu yazdım:

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

Bundan sonra https://code.google.com/apis/console/ adresine gitmeniz yeterlidir.

Yeni bir arayüze geçtiklerinde , sol taraftaki API'ler ve kimlik doğrulama sekmesine gitmeniz, ardından Kayıtlı Uygulamalar'a gitmeniz , değiştirmek için mevcut API anahtarınızı seçmeniz veya önceden oluşturulan SHA1 kodunu kullanarak yeni bir tane oluşturmanız gerekir.

Ben böyle çalıştırdım.



1

Tutulma sırasında anahtar deponuzu kullanarak projenizi dışa aktarmanız yeterlidir ve son adımda hem SHA-1 hem de MD-5 elde edersiniz.

görüntü açıklamasını buraya girin

Bak bu soruya daha fazla ayrıntı için.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.