Как я могу получить отпечаток MD5 из Java keytool, а не только SHA-1?


105

Поскольку я хочу использовать карты Google в своем приложении, мне нужен отпечаток MD5 сертификатов отладки. Я пробовал следующее:

(Здесь я скопировал файл debug.keystore из C: \ Documents and Settings \ Administrator.android в папку bin)

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

Но получили следующие результаты:

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

Однако это не помогает получить ключ API MAP. SHA1 такой же, как MD5?

Что мне делать, чтобы получить сертификат MD5?

Ответы:


189

При установленном JDK 1.7 keytool всегда по умолчанию выводит отпечаток SHA1, а не MD5. вы можете получить сертификат MD5, добавив параметр -v.

используйте следующий код: -

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

он также выведет сертификат MD5.


7
Спасибо, опция -v сделала это за меня
Джозеф Эрл

Теперь процесс MD5 и sha1 изменил Google. После того, как мы получили здесь MD5, нам нужно правильно получить ключ API из консоли Google API. спасибо, ребята
Crishnan Iyengar

@ Ankit-Saxena - Не могли бы вы ответить, этот параметр stackoverflow.com/questions/55336382/… -v у меня не работает.
v1h5

25

Чтобы получить значение MD5 и SHA1 ... и т.д., выполните следующее:

Перед этим не забудьте скопировать debug.keystore в папку Androidkeystore, подобную той, которая создана на диске C.

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

он спрашивает здесь .. Введите пароль хранилища ключей: android

введите вы здесь MD5 и SHA1..и т. д.

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

ПРИМЕЧАНИЕ: если в пути к каталогу есть пробелы, вы ДОЛЖНЫ заключить его в кавычки. например, используйте этот формат:

-keystore "C: \ Users \ Ваше имя \ .android \ debug.keystore"


3
@AnkitSaxena Этот ответ лучше и помог мне, поэтому, пожалуйста, не мешайте никому давать альтернативный ответ с другой информацией. Спасибо K.krishnan за этот ответ +1
Onimusha

6

Если вы используете jdk 7:

Используйте параметр -v.


1
Обратите внимание на дату, когда был задан этот вопрос. Не отвечайте на старые вопросы, если не думаете, что у вас есть лучший ответ.
Riking

Я сделал это потому, что это решило мою проблему. И теперь у меня проблема. Я просто хотел что-то оставить, если сейчас у кого-то возникнет такая же проблема. Кстати спасибо за минус 2 балла. :(
fjs


3

скопировать файл debug.keystore в c:\ или в какую- то папку

вы пытаетесь пойти c:\Program Files\Java\jdk1.6.25\bin folder и ввести

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

пароль - android



3

Самый простой способ получить SHA 1, MD 5 - щелкнуть Gradle в правом верхнем углу рядом с углом экрана Android Studio. Затем щелкните имя приложения (например, android123 (root) : оно должно выглядеть так). После этого вы найдете подпапку с именем android и, нажав на нее, перейдите к подписыванию отчета. Он должен запуститься в консоли и должен показать вам SHA 1, MD 5. Надеюсь, это поможет.


Спасибо! Все остальные ответы не сработали для меня, но этот сработал.
Юрий Рейс

2

Я решил проблему в Windows 8, открыв командную строку (администратор) и набрав:

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

После этого просто перейдите на https://code.google.com/apis/console/

Когда они перешли на новый интерфейс, вам нужно перейти на вкладку API и аутентификация слева, затем перейти к Зарегистрированным приложениям , выбрать существующий ключ API, чтобы заменить его, или создать новый, используя ранее созданный код SHA1.

Вот как у меня это заработало.



1

Просто экспортируйте свой проект, используя хранилище ключей в eclipse, и на последнем шаге вы получите как SHA-1, так и MD-5 ..

введите описание изображения здесь

Посмотрите этот вопрос для получения более подробной информации.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.