Як я можу отримати відбиток MD5 від ключового інструмента Java, не тільки 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"

Однак це не працює, щоб отримати ключ MAP API. Чи 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 з консолі API Google право. дякую хлопці
Крішнан Ійенгар

@ Ankit-Saxena - Ви можете, будь ласка, відповісти на цей stackoverflow.com/questions/55336382/… -в варіант зі мною не працює.
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..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

ПРИМІТКА. Якщо в шляху до каталогу є пробіли, ОБОВ'ЯЗКОВО укласти його в лапки. наприклад, використовуйте цей формат:

-keystore "C: \ Користувачі \ Ваше ім'я \ .android \ debug.keystore"


3
@AnkitSaxena Ця відповідь краще і допомогла мені, тому, будь ласка, не перешкоджайте нікому надавати альтернативну відповідь з різною інформацією. Дякую К.крішнану за цю відповідь +1
Онімуша

6

Якщо ви використовуєте jdk 7:

Використовуйте опцію -v.


1
Зверніть увагу на дату, коли це питання було задано. Не відповідайте на старі питання, якщо ви не вважаєте, що маєте кращу відповідь.
Рікінг

Я просто зробив це, тому що це вирішило мою проблему. І я просто зараз отримав проблему. Я просто хотів щось залишити, якщо хтось зараз із тією ж проблемою. До речі дякую за мінус 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

Прапор -v також дає сертифікат SHA1. Без цього прапора ви отримуєте лише відбиток MD5.


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 і auth зліва, а потім перейти до зареєстрованих програм , вибрати існуючий ключ API, щоб замінити його або створити новий, використовуючи попередньо створений код SHA1.

Ось так я і працював.



1

Просто експортуйте свій проект, використовуючи сховище ключів у затемненні, і на останньому кроці ви отримаєте як SHA-1, так і MD-5.

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

Подивіться на це питання для більш детальної інформації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.