ฉันจะรับลายนิ้วมือ MD5 จาก Keytool ของ 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 จากคอนโซล Google API ให้ถูกต้อง ขอบคุณครับ
Crishnan Iyengar

@ Ankit-Saxena - คุณช่วยตอบได้ไหมstackoverflow.com/questions/55336382/… -v option ใช้กับฉันไม่ได้
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: \ 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

แฟล็ก -v ให้การรับรอง SHA1 เช่นกัน หากไม่มีการตั้งค่าสถานะนั้นคุณจะได้รับลายนิ้วมือ MD5 เท่านั้น


3

วิธีที่ง่ายที่สุดในการรับSHA 1, MD 5คือคลิกที่ Gradle ที่ด้านขวาบนใกล้กับมุมของหน้าจอของ Android Studio จากนั้นคลิกที่ชื่อแอพ (เช่นandroid123 (รูท)มันควรจะเป็นแบบนี้) หลังจากนั้นคุณจะพบโฟลเดอร์ย่อยชื่อ androidและคลิกเพื่อไปที่SigningReportควรทำงานในคอนโซลและควรแสดง SHA 1, MD 5 หวังว่าจะช่วยได้


ขอบคุณ! คำตอบอื่น ๆ ทั้งหมดไม่ได้ผลสำหรับฉัน แต่คำตอบนี้ทำได้
Yuri Reis

./gradle signingReportซึ่งอาจจะง่ายวิ่ง
dragon788

2

ฉันได้แก้ไขปัญหาใน Windows 8 โดยเปิด Command Prompt (Admin) จากนั้นพิมพ์:

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

หลังจากนั้นไปที่https://code.google.com/apis/console/

เมื่อเปลี่ยนเป็นอินเทอร์เฟซใหม่คุณต้องไปที่แท็บAPIs & authทางด้านซ้ายจากนั้นไปที่แอปที่ลงทะเบียนเลือกคีย์ API ที่มีอยู่เพื่อแทนที่หรือสร้างใหม่โดยใช้รหัส SHA1 ที่สร้างขึ้นก่อนหน้านี้

นั่นคือวิธีที่ฉันได้ผล



1

เพียงแค่ส่งออกโปรเจ็กต์ของคุณโดยใช้ที่เก็บคีย์ของคุณในคราสและในขั้นตอนสุดท้ายคุณจะได้รับทั้ง SHA-1 และ MD-5 ..

ป้อนคำอธิบายภาพที่นี่

ดูคำถามนี้เพื่อดูรายละเอียดเพิ่มเติม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.